我在想的东西是这样的:如何将mysql列的默认值设置为unix_timestamp?
`post_modified` int(11) NOT NULL DEFAULT UNIX_TIMESTAMP (NOW()) ON UPDATE UNIX_TIMESTAMP (NOW()),
但是这个代码就无法正常工作。
我在想的东西是这样的:如何将mysql列的默认值设置为unix_timestamp?
`post_modified` int(11) NOT NULL DEFAULT UNIX_TIMESTAMP (NOW()) ON UPDATE UNIX_TIMESTAMP (NOW()),
但是这个代码就无法正常工作。
注:我不知道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());
不,你不能使用它,因为你显示。
从数据类型的文档上MySql:
“的默认值必须是一个常数,它不能是一个功能或表达这意味着,例如,你不能设置默认的日期栏。是NOW()或CURRENT_DATE之类的函数的值,例外是您可以将CURRENT_TIMESTAMP指定为TIMESTAMP列的默认值。“
看看下面的答案解决方法:
Is it possible to create a column with a UNIX_TIMESTAMP default in MySQL?
希望这将帮助!
不可能。缺省值不能是动态的,除了'timestamp'字段的情况。您必须使用触发器来设置unix时间戳。 –
http://stackoverflow.com/questions/5331026/is-it-possible-to-create-a-column-with-a-unix-timestamp-default-in-mysql - 检查此 –