2013-10-25 37 views
0

我正嘗試使用CREATE命令創建新的數據庫。這裏的SQL:創建新的數據庫表時,無法在DEFAULT約束中使用函數和變量

CREATE TABLE test( rok_utworzenia timestamp DEFAULT CURRENT_DATE );

但它拋出一個錯誤說

「#1064 - 你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本在第2' 行

它的工作原理,如果我更改默認的約束,以恆定使用近「CURRENT_DATE)」正確的語法手冊,但如果我嘗試使用任何功能或變量。爲什麼?

回答

1

使用此:

CREATE TABLE test(rok_utworzenia timestamp DEFAULT CURRENT_TIMESTAMP); 

MySQL site

在數據類型規範的默認值子句表示爲列一個 默認值。有一個例外,默認值必須是 是一個常數;它不能是一個函數或表達式。這意味着,例如, ,例如,您不能將日期列的默認值設置爲 函數的值,例如NOW()或CURRENT_DATE。 的例外是您可以將CURRENT_TIMESTAMP指定爲 TIMESTAMP列的默認值。

1

試試這個CURRENT_TIMESTAMP

CREATE TABLE test(rok_utworzenia timestamp DEFAULT CURRENT_TIMESTAMP); 
相關問題