无法将数据库导入服务器
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”;
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:
我一直都是用我现在用的方式把数据库文件导入服务器。但是这次当我想这样做时,我得到了以下错误:
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”;
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: