У меня есть таблица с двумя метками времени. Я просто определил их с именем и типом TIMESTAMP
, но по какой-то причине MySQL автоматически установил одно из них со значением по умолчанию и атрибутом on update CURRENT_TIMESTAMP
. Я планировал иметь значение NO по умолчанию в любом из полей, но одно из полей называется "date_updated", поэтому я полагаю, что я мог бы установить указанный атрибут в это поле.
К сожалению, это поле "date_created", которое было установлено с атрибутом on update CURRENT_TIMESTAMP
, и независимо от того, что я делаю, MySQL не позволит мне удалить его.
Я попытался отредактировать поле date_created и удалить атрибут. При нажатии кнопки "Сохранить" атрибут возвращается. Я также попытался выбрать оба поля, удалив атрибут из одного из них и установив его на другом. Это дает мне ошибку #1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
, и вдруг оба столбца атрибута для значений устанавливаются на on update CURRENT_TIMESTAMP
результат:
Error
SQL query:
ALTER TABLE `pages` CHANGE `date_created` `date_created` TIMESTAMP NOT NULL ,
CHANGE `date_updated` `date_updated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
MySQL said:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Должен ли я действительно воссоздать оба этих столбца в правильном порядке, чтобы исправить это?
Я хотел бы знать, как я могу решить эту проблему правильно, для справок в будущем.
Спасибо
Теперь я также попытался запустить
ALTER TABLE pages
CHANGE date_created
date_created TIMESTAMP NOT NULL