SET SQL_MODE =“NO_AUTO_VALUE_ON_ZERO”;给出错误

时间:2016-06-16 14:00:36

标签: mysql database import

我的mysql数据库有问题。我无法从我的朋友导入数据库。 我需要一些帮助。

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

ERROR:

  

声明开始意外。 (位置0附近的“phpMyAdmin”)
      无法识别的语句类型。 (位于第11位的“SQL”附近)

     

#1064 - 你的语法问题'phpMyAdmin SQL Dump
出了点问题       SET SQL_MODE =“NO_AUTO_VALUE_ON_ZERO”'w linii 1

3 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题。显然,你使用的phpMyAdmin版本在导入模块中有bug(在我的例子中是在Wamp 3.0.4中打包的phpMyAdmin 4.5.5.1)。更确切地说,它将注释(带有空格的有效语法)解释为SQL代码。在phpMyAdmin创建的转储开始时就是这种情况:它通常以

开头
-- phpMyAdmin SQL Dump

解释了您的错误消息。

phpMyAdmin 4.5.5.1的导入模块也无法解析转义的单引号(参见https://github.com/phpmyadmin/phpmyadmin/issues/11721)。

此问题有许多可能的解决方法:

  • 更新phpMyAdmin
  • 使用其他工具导入数据库转储,例如MySQL Command Line或MySQL workbench
  • 不太可取:在当前版本的phpMyAdmin中执行.sql文件的内容作为查询(错误较少)
  • 不太可取:删除.sql文件中的所有注释

答案 1 :(得分:0)

语法没有问题,但文件可能没有问题: 很可能是文件被编辑,文本编辑器(当然是Windows notepad.exe)太聪明了,在保存时添加了BOM。

删除前3个字节(十六进制:EF BB BF),不带文件保存文件(使用十六进制编辑器或PPSad并将格式切换为UNIX),导入程序将不再有问题。

BOM欺骗了进口商,第一个-被吃掉,进口商不再这样识别第一个注释。 Wikipedia about BOM:

File comparison (w/o BOM)

答案 2 :(得分:0)

windows 记事本和其他编辑器,更改文件的编码。 要将其更改为 utf-8,请使用“notepad ++”打开文件并使用编码菜单,然后选择 UTF-8 现在保存您的文件