本文介紹了在mysql8中,為什么DATE DEFAULT CURRENT_DATE需要用括號將CURRENT_DATE括起來?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
從mysql8開始,這是合法的:
CREATE TABLE t (d DATETIME DEFAULT CURRENT_TIMESTAMP);
這是合法的:
CREATE TABLE t (d DATE DEFAULT (CURRENT_DATE));
那么為什么這是非法的?
CREATE TABLE t (d DATE DEFAULT CURRENT_DATE);
導致
查詢中出錯(1064):第1行‘CURRENT_DATE)’附近出現語法錯誤
推薦答案
請參閱this for more information。
這很可能是您在問題中所指的:
在DEFAULT子句中指定的缺省值可以是文字
常量或表達式。除了一個例外,將表達式括起來
括號內的缺省值,以區別于文字
常量默認值。[…]
例外情況是,對于時間戳和日期時間列,您可以
將CURRENT_TIMESTAMP函數指定為缺省值,不帶
用圓括號括起來。
這篇關于在mysql8中,為什么DATE DEFAULT CURRENT_DATE需要用括號將CURRENT_DATE括起來?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,