【发布时间】:2012-09-03 00:41:44
【问题描述】:
最近我在 MySQL 中遇到了一个新问题。我正要用
创建一个新表col1 TIMESTAMP DEFAULT NULL
(即具有默认 NULL 值的列),但在创建时给了我一个错误:
列的默认值无效
但是当我尝试col1 TIMESTAMP NULL DEFAULT NULL 时,该表已创建。
我想知道以上两种语法有什么区别。我之前在列中的一些插入 NULL 值中也遇到了这个问题。
谁能解释这个问题的原因,比如它是特定于版本的问题还是 MySQL 的其他问题?
【问题讨论】:
-
如果您只有
col1 timestamp null,则可以省略default null(至少根据文档)。不可为空的时间戳列具有预定义的特殊属性,但是当您显式将该列设为可空时,它们会被抑制。
标签: mysql sql create-table