6

我有一个带有一些日期的 MySQL 表,我需要其中一个具有等于当前时间的默认值,我正在使用“Sequel Pro”来构建数据库,然后我写了“now()”(和“GETDATE( )') 为默认值,但不起作用。

有人可以帮助我,如何使用 Sequel PRO 将“设置默认值”设置为“NOW()”?

错误:

尝试通过以下方式更改“DataDoPedido”字段时出错

ALTER TABLE ReservaCHANGE DataDoPedido DataDoPedidoDATE NOT NULL DEFAULT 'now()'

MySQL 说:'DataDoPedido' 的默认值无效

谢谢。

4

1 回答 1

10

对于 MySQL,DEFAULT指定的列必须是常量;它不能是函数的返回。一个例外是TIMESTAMP数据类型,它可以有一个DEFAULT CURRENT_TIMESTAMP.

如果需要初始化DATE列,一种解决方法是创建BEFORE INSERT ON触发器。

于 2013-11-24T03:55:22.357 回答