亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否將NOW()設置為日期時間數據類型的默認值?

是否將NOW()設置為日期時間數據類型的默認值?

慕桂英4014372 2019-12-16 10:20:34
是否將NOW()設置為日期時間數據類型的默認值?我在表用戶中有兩列,即registerDate and lastVisitDate由日期時間數據類型組成。我想做以下事情。將registerDate的默認值設置為MySQL NOW()將lastVisitDate的默認值設置為0000-00-00 00:00:00而不是默認使用的null。因為該表已經存在并且具有現有記錄,所以我想使用Modify表。我試過使用下面的兩段代碼,但是都沒有用。ALTER TABLE users MODIFY registerDate datetime DEFAULT NOW()ALTER TABLE users MODIFY registerDate datetime DEFAULT CURRENT_TIMESTAMP;它給我錯誤: ERROR 1067 (42000): Invalid default value for 'registerDate'我可以在MySQL中將默認的datetime值設置為NOW()嗎?
查看完整描述

4 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

EUREKA!

對于所有為在MySQL中設置默認DATETIME值而灰心的人,我確切地知道您的感覺/感覺。所以這里是:


`ALTER TABLE  `table_name` CHANGE `column_name` DATETIME NOT NULL DEFAULT 0

仔細觀察一下,我沒有在0周圍添加單引號/雙引號。


重要更新:


這個答案早就發布了。當時,它可以在我(可能是最新的)MySQL安裝上運行,并且我想共享它。在決定立即使用此解決方案之前,請閱讀下面的評論。



查看完整回答
反對 回復 2019-12-16
?
www說

TA貢獻1775條經驗 獲得超8個贊

在mysql 5.6.5及更高版本上,您可以使用精確的日期時間并設置默認值。但是有一個微妙的地方,它將精度值傳遞給datetime和NOW()函數調用。


該示例有效:


    ALTER TABLE my_table MODIFY created datetime(6) NOT NULL DEFAULT NOW(6);

本示例不起作用:


    ALTER TABLE my_table MODIFY created datetime(6) NOT NULL DEFAULT NOW();


查看完整回答
反對 回復 2019-12-16
  • 4 回答
  • 0 關注
  • 865 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號