如何将mysql列的默认值设置为unix_timestamp?

m3t*_*sys 6 mysql unix-timestamp

我在考虑这样的事情:

`post_modified` int(11) NOT NULL DEFAULT UNIX_TIMESTAMP (NOW ()) ON UPDATE UNIX_TIMESTAMP (NOW ()),
Run Code Online (Sandbox Code Playgroud)

但是这段代码不起作用.

Arj*_*Raj 6

注意:我不知道MYSQL TRIGGER的性能

请通过这些链接

  1. 确定实现sql server触发器的一些缺点

  2. 使用触发器

您可以为此创建触发器。

用于插入

CREATE TRIGGER {trigger_name} BEFORE INSERT ON {table_name} FOR EACH ROW SET new.{field_name} = UNIX_TIMESTAMP(NOW());

更新

CREATE TRIGGER {trigger_name} BEFORE UPDATE ON {table_name} FOR EACH ROW SET new.{field_name} = UNIX_TIMESTAMP(NOW());


met*_*766 5

不,您不能像显示的那样使用它。

MySql上的数据类型doc :

“默认值必须是一个常数;它不能是函数或表达式。这意味着,例如,您不能将日期列的默认值设置为诸如NOW()或CURRENT_DATE之类的函数的值。唯一的例外是,您可以将CURRENT_TIMESTAMP指定为TIMESTAMP列的默认值。”

请在下面的答案中找到解决方法:

是否可以在MySQL中使用UNIX_TIMESTAMP默认值创建列?

希望这会有所帮助!