Mysql在导入sql文件执行时报错 [Err] 1064 错误、[Err] 1293错误
简单来说时本地Mysql的版本低(5.5版本),导入的sql文档时在5.6.4生成
在导入sql文件执行时报1064错误:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=1928 DEFAULT CHARSET=utf8' at line 37
原因:
UNIQUE KEY `MESSAGE_CONFIG_MID` (`mid`(255)) USING BTREE
解决方法:
将sql语句修改为 UNIQUE KEY `MESSAGE_CONFIG_MID` USING BTREE (`mid`(255))
即把USING BTREE 放到索引字段前面即可.。
报 1293 错误
CREATE TABLE `test` (
`c_time` timestamp NULL DEFAULT NULL,
`m_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
) ;
报错:
1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
原因: 两台服务器的mysql版本不一致. 低版本不支持在一个表里面 有2个TIMESTAMP 类型 的列.
使用 SELECT VERSION(); 来查看一下服务器的版本
官网文档解释:
https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html