- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
Mysql運(yùn)行sql報(bào)錯(cuò):Invalid ON UPDATE clause for 'createTime' column
歡迎來到藍(lán)隊(duì)云技術(shù)小課堂,每天分享一個(gè)技術(shù)小知識。
Mysql運(yùn)行sql報(bào)錯(cuò):Invalid ON UPDATE clause for 'createTime' column的解決辦法
從高版本的mysql導(dǎo)出SQL文件,然后運(yùn)行SQL文件到低版本的mysql:
如果表中存在datetime字段,如下:
運(yùn)行SQL文件時(shí),將出現(xiàn)如下錯(cuò)誤:
[Err] 1294 - Invalid ON UPDATE clause for 'createTime' column
解決辦法:將`createTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,語句中的ON UPDATE CURRENT_TIMESTAMP去掉即可。
原因:高版本的mysql轉(zhuǎn)儲的sql文件中,datetime字段都如上圖所示,但是低版本的mysql不認(rèn)識ON UPDATE CURRENT_TIMESTAMP,所以報(bào)錯(cuò)。
舉一反三:
1:如果低版本的mysql轉(zhuǎn)儲的sql文件,在高版本的mysql中運(yùn)行是沒有問題的。
2:承接1,高版本的mysql再轉(zhuǎn)儲出來的sql文件中,datetime字段也是不帶ON UPDATE CURRENT_TIMESTAMP的(即在低版本的MySQL中運(yùn)行是沒問題的)。
3:承接1,如果在高版本的mysql中增加了datetime字段,則再轉(zhuǎn)儲出來的sql文件中,datetime字段是帶ON UPDATE CURRENT_TIMESTAMP的(即在低版本的MySQL中運(yùn)行是有問題的)。
藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫可供參考,大家可自行查閱,更多技術(shù)問題,可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。
更多技術(shù)知識,藍(lán)隊(duì)云期待與你一起探索。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP