我在想这样的事情:
`post_modified` int(11) NOT NULL DEFAULT UNIX_TIMESTAMP (NOW ()) ON UPDATE UNIX_TIMESTAMP (NOW ()),
但是这段代码不起作用。
我在想这样的事情:
`post_modified` int(11) NOT NULL DEFAULT UNIX_TIMESTAMP (NOW ()) ON UPDATE UNIX_TIMESTAMP (NOW ()),
但是这段代码不起作用。
不,你不能像你展示的那样使用它。
来自MySql上的数据类型文档:
“默认值必须是常量;它不能是函数或表达式。这意味着,例如,您不能将日期列的默认值设置为函数的值,例如 NOW() 或 CURRENT_DATE。例外是您可以将 CURRENT_TIMESTAMP 指定为 TIMESTAMP 列的默认值。”
查看以下解决方法的答案:
是否可以在 MySQL 中创建具有 UNIX_TIMESTAMP 默认值的列?
希望这会有所帮助!
注意:我不知道MYSQL TRIGGER的性能
请通过这些链接
您可以为此创建触发器。
用于插入
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());