如何使用Sequel PRO将“设置默认值"设置为"NOW()"? [英] How 'Set Default value' to 'NOW()' with Sequel PRO?
问题描述
我有一个带有一些日期的MySQL表, 我需要其中之一的默认值等于当前时间, 我正在使用"Sequel Pro"来建立数据库, 然后我在默认值中写了'now()'(和'GETDATE()'),但是不起作用.
I have a MySQL table with some dates, I need that one of them have a default value equal to current time, I'm using 'Sequel Pro' to build the database, Then i wrote 'now()' (and 'GETDATE()') in default value, but doesn't work.
有人可以帮我吗,如何使用Sequel PRO将默认值"设置为"NOW()"?
Can someone do help me, How 'Set Default value' to 'NOW()' with Sequel PRO?
错误:
尝试通过更改字段'DataDoPedido'时发生错误
An error occurred when trying to change the field 'DataDoPedido' via
更改表Reserva
更改DataDoPedido
DataDoPedido
日期
非空
默认为'now()'
ALTER TABLE Reserva
CHANGE DataDoPedido
DataDoPedido
DATE
NOT NULL
DEFAULT 'now()'
MySQL说:"DataDoPedido"的默认值无效
MySQL said: Invalid default value for 'DataDoPedido'
谢谢.
推荐答案
对于MySQL,为列指定的DEFAULT
必须为常量;它不能是函数的返回.唯一的例外是TIMESTAMP
数据类型,该数据类型可以具有DEFAULT CURRENT_TIMESTAMP
.
For MySQL, the DEFAULT
specified for a column must be a constant; it cannot be the return from a function. The one exception to this is the TIMESTAMP
datatype, which can have a DEFAULT CURRENT_TIMESTAMP
.
如果需要初始化DATE
列,一种解决方法是创建BEFORE INSERT ON
触发器.
If you need to initialize a DATE
column, one workaround is to create a BEFORE INSERT ON
trigger.
这篇关于如何使用Sequel PRO将“设置默认值"设置为"NOW()"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!