【问题标题】:SQL Error 1064 - Import ErrorSQL 错误 1064 - 导入错误
【发布时间】:2013-09-30 23:55:23
【问题描述】:

我导出了一个运行良好的数据库作为备份。当我将数据库导入到相同的服务器、文件夹等时,我收到了这个错误:

您可能在 SQL 解析器中发现了一个错误。 请仔细检查您的查询,并检查引号是否 正确且不匹配。其他可能的失败原因可能是 您正在上传带引号的文本区域之外的二进制文件。 您还可以在 MySQL 命令行界面上尝试查询。这 下面的 MySQL 服务器错误输出,如果有的话,也可能对您有所帮助 诊断问题。如果您仍然有问题或解析器 在命令行界面成功的地方失败,请减少你的 SQL 查询输入到导致问题的单个查询,并提交一个 下面 CUT 部分中包含数据块的错误报告: ----开始剪辑---- eNo1jUEKwjAURIXu/inmADHkpwYxu1JCu0iTmFQ9gYtushP09qaCs3oMjxmXc8wWI2PU8C5YMDSY qayt7oiWT7l6CyON7NWxV5LpVjJiERgmF1aBu2vmY6sY5xwX11Ql9YXSMlicGhtKc9otEcs+1Es+ w2/19SY/hMniWen3Qd3hny8nMiDI ----结束切割---- ----BEGIN RAW---- 错误:C1 C2 LEN:1 2 11 STR:

MySQL:5.5.30-30.1 USR 操作系统、代理、版本:Win CHROME 5.0.29 PMA:4.0.5 PHP 版本,操作系统:5.3.17 Linux LANG:en SQL:
----END RAW----

SQL 查询:

MySQL 说:文档

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 第 1 行的 '' 附近

唯一的问题似乎是我的索引页面缺少内容,实际上是主要内容。所有这些文件都是 .sql。

然后我删除了所有表并从去年 4 月导入了原始数据库。显然,此数据库缺少我所有客户的所有帐户信息、订单信息等,以及对我的产品所做的所有更改。

当我比较两个数据库时,前 11 行似乎是问题所在,但我不知道如何解决。 DO NOT WORK 文件的前 11 行是:

-- phpMyAdmin SQL Dump
-- version 4.0.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 22, 2013 at 01:28 PM
-- Server version: 5.5.30-30.1
-- PHP Version: 5.3.17

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

DOES WORK 文件的前 11 行是:

-- phpMyAdmin SQL Dump
-- version 3.4.10.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Apr 09, 2012 at 05:50 AM
-- Server version: 5.1.61
-- PHP Version: 5.2.17

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

我尝试将工作文件中的 11 行简单地复制并粘贴到不起作用的文件中并得到另一个错误。

我知道这是一篇很长的帖子,我深表歉意,但我已经为此苦苦挣扎了好几个小时,真的需要一些帮助。

谢谢

【问题讨论】:

  • SQL_MODE 是在 4.1 版本中添加的,您的版本是 3.4.10.1
  • 谢谢。我想通了。

标签: mysql sql import


【解决方案1】:

好的,这就是我最终找到的。当我打开在 notebook+ 中出现错误的文件时,最后一行当然有以下内容:

ETXNULNULNULNULNULNULNULNULNUL

打开时的原始工作数据库没有任何这些字符。

当我简单地删除给我错误的文件的最后一行并导入数据库时​​,一切正常。但是,我的主页仍然没有被正确拉起。我现在应用了一个解决方法,稍后会尝试解决这个问题。

我希望这对某人有所帮助。

【讨论】:

  • 它工作,但是,我想知道它是否是 .sql 文件的生成错误?谢谢!
  • 我的 sql 文件末尾有相同的 ETXNULNUL.. 行。删除它就可以了。
  • 是的,ETXNULNULNUL 字符也有同样的问题。用于导出的软件版本为:MySQL:5.5.32-cll,phpMyAdmin:4.0.5,PHP:5.3.17。查看其他所有人的帖子,似乎共同点是 PHP 5.3.17。
  • 是的,对我来说也是一样,去掉 sql 文件中的最后一行解决了这个问题!谢谢!
【解决方案2】:

在为 Joomla 2.5 站点导出数据库时,我遇到了同样的问题。 它与 phpmyadmin 中的压缩有关。 我在导出数据库之前将压缩从“无”更改为“压缩”并解决了它。

希望有帮助!

【讨论】:

    【解决方案3】:

    这是 phpMyadmin 中的一个错误

    这是一个临时修复

    http://sourceforge.net/p/phpmyadmin/bugs/4095/#7e0c

    或类似的东西:

    替换“PMA_Response::getInstance()->disable();” "//PMA_Response::getInstance()->disable();" -- /path_to_phpMyAdmin/export.php

    【讨论】:

      【解决方案4】:

      似乎有很多原因可能会触发此错误。我只是想分享我的问题和我找到的解决方法,希望它可以节省一些时间。 我在尝试将数据库导入 MySql 时也遇到了这个问题。我从本地计算机导出了一个数据库版本,我想将它导入到托管我的网站的服务器。问题是两个系统的版本不匹配。 我设法通过使用兼容性选项(在导出和导入时)解决了这个问题。我用“MYSQL323”。这解决了我的问题。 我认为对于那些有可能制作新的导出数据库版本的人来说,这是一个很好的解决方案。

      【讨论】:

        【解决方案5】:

        我已在 1 分钟前修复了此错误。 当您导出 sql.gz 文件时,请尝试将其解压缩。 提取的文件仍然是压缩的 bu *.sql 文件。 再次尝试添加 *.sql.gz 并导入重命名的文件。 它会起作用的。

        我想说的是,phpMyAdmin 压缩文件两次。

        【讨论】:

          【解决方案6】:

          我的解决方案是: 评论

          ;mbstring.func_overload = 2
          

          在 /etc/php5/apache2/php.ini

          【讨论】:

            【解决方案7】:

            在我的情况下,我需要将压缩更改为 NONE,并将 SQL 兼容模式更改为 ANSI。我正在将 WordPress 数据库导出到另一台服务器。

            【讨论】:

              【解决方案8】:

              我在导入 CSV 文件时遇到了同样的问题,并发现问题在于我有一些来自 excel 转换的空列,当我选择第一行作为要导入的列名时,它试图创建几个没有适当唯一性的列名字。

              【讨论】:

                【解决方案9】:

                我在转储文件的末尾有一个空行。删除该行解决了我的问题。

                【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2015-02-21
                • 1970-01-01
                • 2014-10-10
                • 2015-06-21
                • 1970-01-01
                • 2016-08-06
                • 2014-02-20
                • 1970-01-01
                相关资源
                最近更新 更多