mysql导入数据库错误#1064提示解决方法

当使用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直接数据导入导出

时间: 2024-11-03 22:00:14

mysql导入数据库错误#1064提示解决方法的相关文章

sql 数据库出现“只读”提示 解决方法 (sql 错误 5120)_MsSql

1.描述:数据库服务器,磁盘满了,要将一个比较大的数据库文件,移到另一个磁盘,移完后,重新附加数据库出现"只读"提示.(如图) 2.本以为,在 "属性-选项-状态" 中直接将 "数据库为只读"选项,由true 设为 false ,即可 但How fucking it is! 报如图错误 3.sql 错误 5120 该错误为文件权限错误,找到该数据库的 数据库文件 和 日志文件,在安全中添加 Authenticated Users 用户的权限,并设

sql 数据库出现“只读”提示 解决方法 (sql 错误 5120)

1.描述:数据库服务器,磁盘满了,要将一个比较大的数据库文件,移到另一个磁盘,移完后,重新附加数据库出现"只读"提示.(如图) 2.本以为,在 "属性-选项-状态" 中直接将 "数据库为只读"选项,由true 设为 false ,即可 但How fucking it is! 报如图错误 3.sql 错误 5120 该错误为文件权限错误,找到该数据库的 数据库文件 和 日志文件,在安全中添加 Authenticated Users 用户的权限,并设

phpMyAdmin不能导入数据库超过2M的解决方法

phpMyAdmin是在线管理MySQL数据库的工具,当用它来导入超过2MB的数据库文件时,往往会因为受PHP.ini上传文件大小的限制而无法导入. 租用了虚拟主机,没有服务器最高管理权限,无法修改PHP.ini文件,更无法使用命令行该怎么办?其实读读phpMyAdmin在线帮助文档,里面早就说明了这个问题的解决方法. 在phpMyAdmin目录下新建一个目录,如:jonson,再编辑phpMyAdmin目录下librariesconfig.default.php文件,查找$cfg['Uploa

SQL2000附加2005数据库[错误602]的解决方法

  我遇到的问题: 错误602:未能在sysindexes中找到数据库id 7中对象id 1的索引id 1 对应的行.请对sysindexes运行dbcc checktable 提问: 错误602:未能在sysindexes中找到数据库ID11中对象ID1的索引ID1对应的行,郁闷啊??? 悬赏分:0 - 解决时间:2008-12-29 13:57 我在学习asp.net的时候,经常需要将别人的数据库(位于appData目录下的*.MDF文件)附加到我的 SQL server中,可是当我使用"所

mysql导入导出数据中文乱码解决方法小结_Mysql

linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用-

MySQL导入sql脚本错误:2006 解决方法_Mysql

MySQL导入sql脚本错误:2006 - MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: Error occured at:2014-03-24 11:42:24 Line no.:85 Error Code: 2006 - MySQL server has gone away 最终找到原因,原来是MySQL导入大批量数据的时候超出了默认允许最大的数据包所以就提示2006 - MySQL server has go

mysql导入导出数据中文乱码解决方法总结

linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码:  代码如下 复制代码 mysqldump   -uroot  -p  --default-character-set=utf8   dbname tablename  >  bak.sql 那么导入数据

win7装oracle 10g时“程序异常终止,发生内部错误的提示”解决方法

在安装Oracle 10g数据库时发生了错误,以前windows7上安装从来没出过的错误,现在把解决问题的方法和原因分享给大家. 安装出现的现象: 1.安装默认的路径与以前有所不同. 以前:D:oracleproduct10.2.0或F:oracleproduct10.2.0 现在:C:Userscynthiaoracleproduct10.2.0 2.输入完密码后下一步时,安装oracle10g"程序异常终止.发生内部错误. 初步分析原因 :系统之前是windows XP SP3 现在直接在x

批处理命令篇--配置免安装mysql 5.6.22, 以及1067错误的一个解决方法

  mysql 服务启动出现1067错误的一个解决方法: 当服务启动出现1067错误时,可查看"windows 事件查看器",发现类似错误提示 Can't find messagefile 'F:\    ools\mysql\mysql-5.6.22-winx64\share\errmsg.sys', 但是配置似乎没问题: basedir=F:\tools\mysql\mysql-5.6.22-winx64datadir=F:\tools\mysql\mysql-5.6.22-win