當我們在MySQL數據庫中創建一張表時,常常需要添加一些字段,比如時間字段。但是當我們嘗試創建一個時間字段時,可能會遇到如下的錯誤提示:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATETIME DEFAULT CURRENT_TIMESTAMP)' at line 1
我們可以看到,錯誤提示顯示在當前時間戳的默認值之前。這個錯誤提示通常是因為我們在創建時間字段的時候,在字段類型之后直接定義了默認值。
我們正確的創建時間字段的語法應該是:
CREATE TABLE `table_name`( `id` INT(11) NOT NULL AUTO_INCREMENT, `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
這里我們在定義了字段類型之后,使用了NOT NULL關鍵字,指定了該字段不能為空;DEFAULT CURRENT_TIMESTAMP則指定了該字段的默認時間為當前時間戳。
總結一下,當我們在MySQL數據庫中創建表時,需要注意字段類型與默認值之間的順序,正確的語法可以避免出現類似的錯誤提示。
上一篇mysql建表制定字符集
下一篇mysql建表參照完整性