mysql导入数据库错误#1064提示解决方法
文章总结了在mysql导入数据库时出现错误#1064 You have an error in your SQL syntax提示,我们这和数据库没什么关系大多是sql语句问题,或是数据库版本不兼容的问题。
当使用SQLyog导出dedecms的数据库为xxx.sql文件时,会报几个错误:
错误1064年在线21 : 您有一个错误在您的SQL句法。 检查手工t帽子对应于您的MySQL服务器版本为正确的句法,用途近‘DEFAULT CHARSET=utf8在线
第一是,USING BTREE 错误。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,UNIQUE KEY `pkey` (`pkey`) USING BTREE 。。。
解决办法:
代码如下 | 复制代码 |
UNIQUE KEY `pkey` (“pkey“) USING BTREE ,修改为 UNIQUE KEY `pkey` USING BTREE (“pkey“) , |
即把USING BTREE 放到索引字段前面即可.
第二、dedecms的一些字段跟mysql系统保留字段冲突,而SQLyog导出的数据sql文件的sql语句insert中的字段有没有加符号“`”,所以会冲突。
在phpmyadmin内选择某个数据库,浏览其table列表,可以看到table的collation(整理)信息。例如A数据库table的collation信息为gbk_chinese_ci,那么在导出数据库成sql脚本前,在phpmyadmin首页language(语言)一栏选择“中文-Chinese simplified”,千万不要选择“中文-Chinese simplified-gb2312”,否则导出的sql文件中中文会出现乱码现象。这句话绝对是关键,我就是按照这样做的然后就OK了。
同理,table的collation信息为gb2312_chinese_ci,那么在导出数据库成sql脚本前,在phpmyadmin首页 language(语言)一栏选择“中文-Chinese simplified-gb2312”,这样导出的sql脚本中文不会出现乱码。
当导入上述导出的sql脚本时,进入phpmyadmin首页,能够看到“MySQL 字符集”信息,例如“UTF-8 Unicode (utf8)”,那么在导入上述导出的sql脚本时,“文件的字符集”选择“utf8”。
如果是dedecms可直接使用dededms直接数据导入导出
推荐阅读
-
MySQL数据库 1067错误号的解决方法
-
MySQL server has gone away错误提示解决方法
-
mysql数据库中1045错误的解决方法
-
MySQL server has gone away错误提示解决方法
-
sql2008 附加数据库时出现错误5123提示的解决方法
-
SQL2008 附加数据库提示5120错误解决方法
-
MySQL导入数据报 Got a packet bigger than‘max_allowed_packet’bytes 错误的解决方法
-
使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
-
sqlserver还原数据库的时候出现提示无法打开备份设备的解决方法(设备出现错误或设备脱)
-
关于MySQL数据库错误号码2003的解决方法