我在想的東西是這樣的:如何將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 - 檢查此 –