无法将数据库导入服务器

can't import database to the server

我一直都是用我现在用的方式把数据库文件导入服务器。但是这次当我想这样做时,我得到了以下错误:

SQL query:

phpMyAdmin SQL Dump SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"

MySQL said: Documentation

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 'phpMyAdmin SQL Dump

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"' at line 1

有谁能帮我解决这个问题吗?我一直用这个方法,但是这次我有这个错误。

提前致谢

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

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

SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;

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

NO_AUTO_VALUE_ON_ZERO 默认关闭。 很少真正在服务器级别启用它,并且通常仅在 SQL 转储中使用。

NO_AUTO_VALUE_ON_ZERO 只影响插入期间发生的事情。关闭模式不会影响已经在 table.

中的行

问题:我导入的 mySQL 版本较旧 - mySQL我导出的版本是 5.0,mySQL 版本 I正在导入到 3.23.56,所以在 phpMyAdmin 的导出选项卡中,我从 "SQL compatibility mode" 下拉列表 "MYSQL323" 中选择,然后导入成功。

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

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

希望对您有所帮助

时刻保持更新

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

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

@afroozhashemzadegani error message

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

My error message

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

copied error in hex

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

导入文件很可能是使用文本编辑器编辑的,该编辑器在保存时不连续地添加了 BOM(字节顺序标记)。例如,Windows´ 记事本会执行此操作,并且由于您使用 Windows 这是一个极有可能发生的情况。

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

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

Similar question here: