Я делаю мой BD в MySql, нуждаюсь в опоре, у меня будет две переменные Даты и Часа и вводить переменную - для реестра (FechaHora_Reg) и другая, если реализовала какая-то изменения (FechaHora_Mod), переменная Изменений будет являться каждый промежуток времени будучи изменена взамен первая переменная не единственная дата и предопределяется.
Я оставляю ему код моего BD
CREATE TABLE tbl_Categoria_Permisos
(
Id_CategoriaPermisos INT NOT NULL AUTO_INCREMENT,
Nombre_CatPer VARCHAR(50) NOT NULL UNIQUE,
Siglas_CatPermisos VARCHAR(10) NOT NULL UNIQUE,
Descripción VARCHAR(100) NOT NULL,
Activo BINARY(1) NOT NULL DEFAULT 1,
FechaHora_Reg TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
FechaHora_Mod TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(Id_CategoriaPermisos)
)
Поскольку он может видеть, у меня есть две переменные, но я нуждаюсь в одной, которая была бы статической, и другая идет быть постоянно измененной, сейчас я хочу, чтобы они помогли мне следующего способа, как я должен объявлять их, чтобы не иметь проблемы, я признаю их такими и у меня выходит ошибка
Восток - erro, который выходит у меня
/* #1293 - Incorrect table definition; there хан be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause */
Он получается у меня, что единственный дебет, - единственной колонны с этим заявлением, мне пожалуйста нужно, чтобы они помогли мне.
Я даю благополучное прибытие Stackoverflow и перехожу к тому, чтобы объяснять проблему и ее soluciГіn.
Ты cГіdigo не функционирует, потому что у тебя возможно была одна versiГіn MySQL, предыдущего 5.6.5. В самом деле, учебник ссылки показывает следующее :
Свойств automГЎticas отметки времени перед MySQL 5.6.5
Antes de MySQL 5.6.5, опора для нее inicializaciГіn и actualizaciГіn automГЎticas - mГЎs ограничено:
DEFAULT CURRENT_TIMESTAMP
иON UPDATE CURRENT_TIMESTAMP
не могут быть использованными колоннамиDATETIME
.DEFAULT CURRENT_TIMESTAMP
иON UPDATE CURRENT_TIMESTAMP
могут быть использованными как mГЎximo с колоннойTIMESTAMP
из-за таблицы. Не возможно, что отметка настоящего времени - стоимость, предопределенная для колонны и стоимости actualizaciГіn automГЎtica для другой колонны.
Ошибка 1293
происходит точно от второй restricciГіn.
Тот же учебник ссылки говорит, что, в этом случае, ты можешь помещать колонну FechaHora_Reg
как DEFAULT 0
(в этом случае tomarГЎ как предопределенная стоимость отметка времени creaciГіn линии, или же оно функционирует точно как DEFAULT CURRENT_TIMESTAMP
, не нарушая ее restricciГіn раньше упомянутая) и используя DEFAULT CURRENT_TIMESTAMP
для колонны FechaHora_Mod
.
Другая вещь - что, хотя ты CREATE TABLE
функционировал, не harГ, - в которое ты стремишься, потому что немного важное отсутствие, которое та clГЎusula ON UPDATE CURRENT_TIMESTAMP
, что harГ, - которому эта колонна изменилась, когда станет отвечающей совремнным требованиям линия .
Применяя выше сказанное, cГіdigo quedarГ - в asГ-:
MySQL 5.6.4 -
CREATE TABLE tbl_Categoria_Permisos
(
Id_CategoriaPermisos INT NOT NULL AUTO_INCREMENT,
Nombre_CatPer VARCHAR(50) NOT NULL UNIQUE,
Siglas_CatPermisos VARCHAR(10) NOT NULL UNIQUE,
Descripción VARCHAR(100) NOT NULL,
Activo BINARY(1) NOT NULL DEFAULT 1,
FechaHora_Reg TIMESTAMP NOT NULL DEFAULT 0,
FechaHora_Mod TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(Id_CategoriaPermisos)
) ;
MySQL 5.6.5 +
В версиях MySQL 5.6.5 + нет ningГєn проблемы с этим cГіdigo:
CREATE TABLE tbl_Categoria_Permisos
(
Id_CategoriaPermisos INT NOT NULL AUTO_INCREMENT,
Nombre_CatPer VARCHAR(50) NOT NULL UNIQUE,
Siglas_CatPermisos VARCHAR(10) NOT NULL UNIQUE,
Descripción VARCHAR(100) NOT NULL,
Activo BINARY(1) NOT NULL DEFAULT 1,
FechaHora_Reg TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
FechaHora_Mod TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(Id_CategoriaPermisos)
) ;