【问题标题】:can't import database to the server无法将数据库导入服务器
【发布时间】:2016-02-17 16:46:35
【问题描述】:

我总是以我再次使用的方式将数据库文件导入服务器。但是这次当我想这样做时,我收到以下错误:

SQL 查询:

phpMyAdmin SQL 转储 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"

MySQL 说:文档

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 靠近'phpMyAdmin SQL 转储

在第 1 行设置 SQL_MODE="NO_AUTO_VALUE_ON_ZERO"'

有人可以帮我解决这个问题吗?我一直使用这种方法,但这次我遇到了这个错误。

提前致谢

【问题讨论】:

  • 你能把你的转储sql文件的部分发布到数据库选择吗?
  • 您使用的是哪个操作系统?如果您使用的是 Windows,您使用的是哪个开发环境? Wamp 或 ....
  • @aliboy38 我正在使用 windows 并使用 wampserver
  • @afroozhashemzadegani 不错。所以看看答案

标签: mysql database phpmyadmin


【解决方案1】:

我不知道它是否会对某人有所帮助,但我遇到了同样的问题并找到了解决方案。

@afroozhashemzadegani - 如您所见,SQL 错误消息中的“NO_AUTO_VALUE_ON_ZERO”字符串后面有一个附加字符。

@afroozhashemzadegani error message

我的错误信息中有相同的字符:

My error message

所以我用十六进制打开它:

copied error in hex

当我删除这个人时,一切正常。老实说,我不知道它是从哪里来的,因为当我导出数据库时它已经在那里了。无论如何,我尝试导入哪个版本的目标 MySQL 服务器似乎并不重要。错误总是一样的。第一行 SQL 代码是什么看起来也不重要,因为当我删除顶部的一些代码时,下一部分可执行代码也出现了同样的错误。

【讨论】:

    【解决方案2】:

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";当使用不同版本的mysql时发生。当您从一台服务器转移到另一台服务器时,您应该记住在新环境中使用的数据库版本,尤其是 mysql。

    修复如下。只需从数据库中删除以下行即可完成

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

    访问https://www.drupal.org/node/164401

    【讨论】:

      【解决方案3】:

      在这种情况下,问题似乎是因为您的MYSQL 版本。正如我在您的问题下面的评论中问您的那样,您似乎正在使用WAMPSERVER。因此,由于您的 WAMPSERVER 版本,它为您的 MYSQL 提供了不同的版本。

      您尝试导入的服务器可能具有更新版本的MYSQL。所以你可以简单地更新你的WAMP,然后你就更新了你的MYSQL 版本。然后尝试将它们导入服务器。所以你可以解决这个问题。

      希望对你有帮助

      总是尝试更新

      【讨论】:

        【解决方案4】:

        NO_AUTO_VALUE_ON_ZERO 默认关闭。它非常很少在服务器级别实际打开,并且通常仅在 SQL 转储中使用。

        NO_AUTO_VALUE_ON_ZERO 仅影响插入期间发生的情况。关闭模式不会影响表中已经存在的行。

        问题: 我导入的 mySQL 版本较旧 - 我导出的 mySQL 版本是 5.0,我导入的 mySQL 版本是 3.23.56,所以在 phpMyAdmin 的导出选项卡中,我从“SQL兼容模式”下拉列表“MYSQL323”,然后导入成功。

        【讨论】:

          【解决方案5】:

          很可能导入文件是使用文本编辑器编辑的,该编辑器在保存时会离散添加 BOM(字节顺序标记)。例如,Windows 的记事本就是这样做的,因为您使用的是 Windows,所以这种情况很有可能发生。

          解决方案: 获取专业的文本编辑器(PSPad、Notepad++ 等,但不是 Windows 记事本)或 Hex 编辑器,检查并删除前 3 个字节(HEX:EF BB BF),保存没有这些 BOM 字节的文件 - 导入器应该没有问题没有了。

          背景: BOM 欺骗了进口商,第一个 - 被吃掉了,进口商不再承认第一条评论。 Wikipedia about BOM

          Similar question here:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-03-16
            • 2015-01-28
            • 1970-01-01
            • 2012-05-04
            • 2016-01-15
            • 1970-01-01
            • 2011-05-23
            相关资源
            最近更新 更多