Мне нужно изменить столбец с типом данных timestamp. Дело в том, что при вставке записи в этот столбец должна быть вставлена текущая метка времени. Я знаю, что есть ON UPDATE CURRENT_TIMESTAMP, но для вставки я не могу найти способ.
при вставке current_timestamp в mysql
Ответы (3)
То, что вы ищете, это ключевое слово DEFAULT
.
ALTER TABLE yourTable MODIFY COLUMN yourColumn timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
person
fancyPants
schedule
24.01.2013
Я знаю, что ON UPDATE можно использовать. Мне нужно что-то вроде этого: изменить таблицу TAB_NAME, добавить столбец COL_NAME timestamp default current_stamp ON INSERT (???????) current_timestamp
- person Rock 'em; 25.01.2013
значение по умолчанию IS при вставке. вы не указываете значение при вставке, и столбец будет иметь значение по умолчанию. просто как тот.
- person fancyPants; 25.01.2013
да, это нормально для 1-й вставки. Если я позже вставлю какую-либо запись в эту таблицу, время вставки записи также должно быть вставлено в столбец, что должно происходить по умолчанию. надеюсь не путаю
- person Rock 'em; 06.02.2013
Да вы путаете. Вы имеете в виду, что такое же время должно быть в другом столбце той же таблицы? У вас есть проблемы с получением времени из столбца отметки времени? Вы знаете, что есть функция
TIME(yourTimeStampColumn)
и многое другое?
- person fancyPants; 06.02.2013
NAME TIME xxxx 201-01-01 10:02:12 // это время, когда я вставляю запись yyyy // здесь время должно быть вставлено в столбец TIME, когда я вставляю 'yyyy'
- person Rock 'em; 22.02.2013
Я действительно не знаю, в чем твоя проблема.
INSERT INTO yourTable (Name) VALUES ('xxxx');
Сделайте эту вставку, и в столбце времени будет время, когда вы делаете вставку. yourColumn
в моем ответе, конечно, ваша колонка времени. Попробуй...
- person fancyPants; 22.02.2013
Чего хотели Rock 'Em, так это использовать CURRENT_TIMESTAMP в качестве значения по умолчанию для столбца. Не в обновлении. Я использую это все время. Таким образом, когда запись вставляется, вы точно знаете, когда это произошло. Во многих таблицах рекомендуется делать это для отслеживания аудита и т. д.
person
John Marno
schedule
19.06.2017
Просто используйте предложение DEFAULT, игнорируя предложение ON UPDATE, это должно работать для вас!
ALTER TABLE yourTable MODIFY COLUMN yourColumn timestamp DEFAULT CURRENT_TIMESTAMP
person
Amol Fasale
schedule
13.07.2018