帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Mysql运行sql报错:Invalid ON UPDATE clause for \\\\

Mysql运行sql报错:Invalid ON UPDATE clause for \\\\

2025-01-08 16:47:08 287

Mysql运行sql报错:Invalid ON UPDATE clause for 'createTime' column

 

欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。

 

Mysql运行sql报错:Invalid ON UPDATE clause for 'createTime' column的解决办法

从高版本的mysql导出SQL文件,然后运行SQL文件到低版本的mysql:

如果表中存在datetime字段,如下:

image.png

 

运行SQL文件时,将出现如下错误:

[Err] 1294 - Invalid ON UPDATE clause for 'createTime' column

 

解决办法:将`createTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,语句中的ON UPDATE CURRENT_TIMESTAMP去掉即可。

 

原因:高版本的mysql转储的sql文件中,datetime字段都如上图所示,但是低版本的mysql不认识ON UPDATE CURRENT_TIMESTAMP,所以报错。

 

举一反三:

 

1:如果低版本的mysql转储的sql文件,在高版本的mysql中运行是没有问题的。

 

2:承接1,高版本的mysql再转储出来的sql文件中,datetime字段也是不带ON UPDATE CURRENT_TIMESTAMP的(即在低版本的MySQL中运行是没问题的)。

 

3:承接1,如果在高版本的mysql中增加了datetime字段,则再转储出来的sql文件中,datetime字段是带ON UPDATE CURRENT_TIMESTAMP的(即在低版本的MySQL中运行是有问题的)。

 

蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,蓝队云期待与你一起探索。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: