Mysql-5.5

在 MySQL 5.5 中不能預設日期為 CURRENT_TIMESTAMP

  • May 7, 2019

我無法設置Current_timestamp為預設值。我的Mysql版本是5.5.47.

查詢是

ALTER TABLE `downloads` ADD `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ;

在此處輸入圖像描述

雖然它在我的本地數據庫上執行良好,但mysql V5.6.56.

MySQL 5.5 手冊

您不能將日期列的預設值設置為 NOW() 或 CURRENT_DATE 等函式的值。例外情況是您可以將 CURRENT_TIMESTAMP 指定為 TIMESTAMP 列的預設值。

TIMESTAMP因此,如果您添加列而不是列,您想要實現的將在 MySQL 5.5 中工作DATE

此處記錄了 5.6.x 中允許該功能的更改,為了完整性,我將引用相關摘要:

從 MySQL 5.6.5 開始,TIMESTAMP 和 DATETIME 列可以自動初始化並更新為目前日期和時間(即目前時間戳)。在 5.6.5 之前,這僅適用於 TIMESTAMP,並且每個表最多有一個 TIMESTAMP 列。

引用自:https://dba.stackexchange.com/questions/132951