再論MySQL TIMESTAMP屬性

2013-05-22_090543

 

這是MySQL 5實力養成暨評量裡的4-49.『MySQL中,欄位為TIMESTAMP時,設定DEFAULT為CURRENT_STAMP的欄位可以有幾個?』

答案:(D) 1

這題跟MySQL TIMESTAMP屬性是姊妹題,之前ㄚ琪可能不太瞭解中文譯出來的結果,所以這題又遭到滑鐵盧,然後再一次測試,發現了設定DEFAULT為CURRENT_STAMP的欄位只能有一個,因為會跟ON UPDATE這個觸發程序有關,而觸發程序又只能有一個事件而已,所以表格中就只能有一個欄位可以設為CURRENT_STAMP。

我們以下面這個為例:

CREATE TABLE t
(
  ts1 TIMESTAMP NULL DEFAULT NULL,
  ts2 TIMESTAMP NULL DEFAULT 0,
  ts3 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
);
如果將ts1或ts2設為CURRENT_TIMESTAMP,我們在phpmyadmin中會看到這樣的錯誤:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
所以這樣我們就可以懂了,而且不必第一個欄位設為CURRENT_TIMESTAMP
以上

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *