Я использую для Даты и Часа

Я делаю мой 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 */

Он получается у меня, что единственный дебет, - единственной колонны с этим заявлением, мне пожалуйста нужно, чтобы они помогли мне.

0
задан 20.03.2019, 01:57
1 ответ

Я даю благополучное прибытие 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.


Она soluciГі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)
) ;
0
ответ дан 02.12.2019, 05:24

Теги

Похожие вопросы