2016-05-10 121 views
0

我试图通过插入一个新属性date1来改变表格,它将自动为表中的每个条目设置日期。MYSQL alter table current_time默认错误

当我插入查询

ALTER TABLE `vessellist` ADD `date1` DATE NOT NULL DEFAULT CURRENT_TIMESTAMP FIRST; 

它说,对DATE1

+0

数据类型CURRENT_TIMESTAMP可以用作默认域值是有限的,由MySQL的版本不同而不同。在早期版本中,我相信只有TIMESTAMP字段可以使用它;在更近的时候,我认为DATETIME也可以;但我不确定DATE是否可以。 – Uueerdo

+0

谢谢。现在我明白了。我改变了数据类型,没有错误 –

回答

0

DEFAULT子句无效的默认值指定的列的默认值。有一个例外,默认值必须是常数;它不能是一个函数或表达式。这意味着,例如,您不能将日期列的默认值设置为NOW()或CURRENT_DATE等函数的值。唯一的例外是,您可以指定CURRENT_TIMESTAMP为默认的TIMESTAMP列

http://dev.mysql.com/doc/refman/5.5/en/create-table.html