MySQL двойная метка даты для измененных и обновленных не работает

Я пытаюсь следующий оператор SQL:

create table sample (
id int not null primary key auto_increment,
name varchar(100),
date_modified timestamp not null default current_timestamp on update current_timestamp,
date_created timestamp not null default now()
)

Это не работает... Я получаю следующую ошибку:

#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

Мне нужно отслеживать две отметки даты, одну для даты, когда была создана строка, и одну для даты, когда строка была последний раз изменена. Они оба делают то, что я хочу, я использую их в одиночку, но MySQL не позволит мне объединить их в одну таблицу.

Пожалуйста помоги.:)

1 ответ

Решение

Вы можете создать триггер BEFORE UPDATE и изменить date_modified в этом.

Или же BEFORE INSERT и создать date_created там.

Другие вопросы по тегам