如何使用Sequel PRO将“设置默认值"设置为"NOW()"? [英] How 'Set Default value' to 'NOW()' with Sequel PRO?

查看:220
本文介绍了如何使用Sequel PRO将“设置默认值"设置为"NOW()"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有一些日期的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆