2009-12-13 5 views
1

Я хотел бы сделать что-то вроде следующей в MySQL Создания таблицы действиямMySQL Значение по умолчанию DATETIME

date_created datetime NOT NULL DEFAULT CURRENT_DATETIME, 
date_updated datetime NOT NULL ON UPDATE CURRENT_DATETIME, 

Еще раз, это MySQL создать таблицу действия и эти два полей в моей таблице ,

ответ

4

Взгляните на этот

TIMESTAMP Properties

по ссылке вы можете использовать

CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
          ON UPDATE CURRENT_TIMESTAMP); 
CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
          DEFAULT CURRENT_TIMESTAMP); 
+0

Есть не один для DateTime? – jkushner

+1

Существует также явно задокументированное ограничение, которое можно использовать только по умолчанию и автоматически обновлять в одном столбце - не разбивать по двум столбцам по запросу. И только один столбец можно обрабатывать таким образом. Кажется, это странное ограничение; сценарий в вопросе очень распространен. Если вы можете сделать это на двух столбцах, то столбец «date_created» будет присвоен по умолчанию без предложения ON UPDATE, а обновленная дата будет иметь как предложения по умолчанию, так и ON UPDATE. –

+0

Это ограничение [было снято] (http://optimize-this.blogspot.com/2012/04/datetime-default-now-finally-available.html) с MySQL 5.6.5. – Mei

Смежные вопросы