我有一个带有一些日期的MySQL表, 我需要其中一个默认值等于当前时间, 我正在使用'Sequel Pro'来构建数据库, 然后我用默认值写了'now()'(和'GETDATE()'),但是没有用。
有人可以帮助我,使用Sequel PRO如何'设置默认值'为'NOW()'?
ERROR:
尝试通过
更改字段'DataDoPedido'时发生错误ALTER TABLE
Reserva
更改DataDoPedido
DataDoPedido
DATE 不是NULL DEFAULT'now()'MySQL说:'DataDoPedido'
的默认值无效
感谢。
答案 0 :(得分:9)
对于MySQL,为列指定的DEFAULT
必须是常量;它不能是函数的返回。唯一的例外是TIMESTAMP
数据类型,它可以有一个DEFAULT CURRENT_TIMESTAMP
。
如果您需要初始化DATE
列,则一种解决方法是创建BEFORE INSERT ON
触发器。