DATETIME字段的默认值

时间:2015-05-07 11:26:28

标签: mysql mysql-workbench

我有一个.mwb文件,我想转发工程师。它包含创建新表的查询,该表又创建一个DATETIME类型的列。

此查询引发错误的部分是:

'last_send_at` DATETIME NULL DEFAULT '0000-00-00 00:00:00',

错误是:

Executing SQL script in server
ERROR: Error 1067: Invalid default value for 'last_send_at'

出了什么问题?

2 个答案:

答案 0 :(得分:1)

DATETIME字段必须保留null默认值,或者根本没有默认值。

  

对于TIMESTAMP以外的日期和时间类型,默认值是该类型的相应“零”值。对于表中的第一个TIMESTAMP列,默认值为当前日期和时间。

Check it here

答案 1 :(得分:0)

看起来您使用的是相当旧版本的mysql,AllocConsole()

不允许使用默认值

http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html

以下是mysql 5.5和5.6的小提琴,两者都有效

http://sqlfiddle.com/#!9/1b6fa

http://sqlfiddle.com/#!2/1b6fab