MySQL中datetime字段的默认值CURRENT_TIMESTAMP
前提
今日个导入一sql文件,出现错误,指向sql中的datetime字段,查了一下,发现是版本问题
立马查询自己的MySQL版本,发现是5.1的,datetime设置默认为CURRENT_TIMESTAMP时,需要在5.6版本以上才可以,否则,还是老实用:timestamp类型,去设置默认值为当前时间:CURRENT_TIMESTAMP吧
方法1.
要把 datetime
改成TIMESTAMP
就好了,但是这个是生成的数据库文件,几十个,改个毛。
方法2.
设置my.ini文件中的sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES的参数,但是发现上面的这个设置就没有对data类型的数据进行了限制。
方法3.根本原因
发现是版本问题。我用的是5.5,换成5.6即可。呵呵了,对自己无语。
总结:
低版本的东西尽量别用,出现版本问题真的很烦的,不说了,重装mysql吧。