2013-12-15 27 views
0

我想mofidy一個時間戳列取CURRENT_TIMESTAMP爲默認值與CURRENT_TIMESTAMP只有一個時間戳列,當我修改的CURRENT_TIMESTAMP。這裏可以在DEFAULT

這是我試過的腳本:

ALTER TABLE annonce MODIFY COLUMN date_modif TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; 

,但我得到這個錯誤信息:

1293 - 不正確的表定義;只能有一個時間戳 與CURRENT_TIMESTAMP列DEFAULT或ON UPDATE子句

我也有另一列(date_crea),其具有CURRENT_TIMESTAMP作爲默認值。

這是否意味着我只能在一列中使用值CURRENT_TIMESTAMP?

如果是我該如何解決這個問題?

+0

您可以使用觸發器來設置的值。 –

+0

@GordonLinoff我該怎麼做? –

+0

我相信這個限制已經在更新版本的MySQL中解決了,如果升級是您的選擇。 – ESG

回答

0

這是否意味着我只能在一個 列中使用CURRENT_TIMESTAMP值?

是的,這是事實。沒有辦法解決這個問題。 但您可能想要使用插入後觸發器和更新後觸發器來自行設置時間。

閱讀http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

CREATE TRIGGER trigger_name AFTER INSERT ON tbl_name FOR EACH ROW set my_second_currenttime = now(); 
CREATE TRIGGER trigger_name AFTER UPDATE ON tbl_name FOR EACH ROW set my_second_currenttime = now(); 

在現實世界中未經檢驗的 - 只是一個代碼示例

相關問題