【问题标题】:Error code 1064, SQL state 42000: You have an error in your SQL syntax;错误代码 1064,SQL 状态 42000:您的 SQL 语法有错误;
【发布时间】:2013-02-13 08:31:54
【问题描述】:

我正在使用最新版本的 MySQL ==> mysql-5.6.10-winx64.zip

创建了数据库,一切正常“我认为” 当我尝试执行这个简单的命令时;

"select * from family"

我收到了这个错误:

错误代码 1064,SQL 状态 42000:您的 SQL 中有错误 句法;检查与您的 MySQL 服务器版本相对应的手册 在 'OPTION SQL_SELECT_LIMIT=DEFAULT' 附近使用正确的语法 第 1 行

我花了很多时间寻找解决方案,但没有找到解决方案:(

【问题讨论】:

  • 显示您执行的所有查询,我在您的选择查询中看不到OPTION SQL_SELECT_LIMIT=DEFAULT
  • 你用什么来查询数据库? - 听起来像一个 GUI / 工具可能会在执行之前向您的查询添加额外的东西
  • 运行show variables where variable_name = 'sql_select_limit';检查它是否是数字?
  • 尝试将其设置为 UINT32_MAX 最大值4294967295set sql_select_limit = 4294967295; 默认应该是 UINT64_MAX(18446744073709551615)。
  • @Steve 我在netbeans中写了查询

标签: mysql netbeans jdbc


【解决方案1】:

我在表名前加上数据库名如

select * from database_name.table_name;

而且效果很好,所以很可能存在名称冲突。

【讨论】:

    【解决方案2】:

    当我将 mysql 表结构文件转储到 DB 时,我遇到了同样的错误。错误是将语法用于删除所有表,但未检查它们在数据库中的存在。 问题出在“DROP TABLE usermgmt”。 我删除了删除表行的代码,这次它没有任何错误。

    【讨论】:

    • 你有没有以';'结尾的语句一次运行所有命令时在 drop 命令中?
    【解决方案3】:

    如果驱动程序建议不起作用,请检查您的 sql 是否有不可打印的字符。我只花了一个小时解决这个问题,却发现我的 sql 语句末尾有一个隐藏的 u+200b 字符。

    【讨论】:

      【解决方案4】:

      我按照上面的说明进行操作,这对我有用!

      1. 从这里下载最新的 jar 文件: http://dev.mysql.com/downloads/mirror.php?id=412737 解压 复制jar文件“mysql-connector-java-5.1.25-bin.jar” 到这个文件夹:C:\Program Files\NetBeans 7.3\ide\modules\ext

      2. 在 Netbeans IDE 中:断开与数据库的连接。 单击服务。展开驱动程序。右键单击 MySQL,然后按自定义。 添加最新的驱动程序 删除以前的驱动程序。

      3. 在 IDE 中重新连接到数据库。

      【讨论】:

      • 我正在修改一个 Tomcat 服务器:Tomcat/lib/ext/mysql.jar,但除此之外,替换使它工作!
      【解决方案5】:

      几周前我遇到了同样的问题。按照以下步骤,它非常解决了这个问题。

      1. 已将 jar 文件的最新版本 (mysql-connector-java-5.1.23-bin) 复制到 ..\NetBeans 7.3\ide\modules\ext。我早期版本的驱动是mysql-connector-java-5.1.18-bin。

      2. 在 NetBeans IDE 中更改驱动程序版本。在 IDE 的服务窗口中,展开驱动程序 -> 右键单击​​ MySQL(连接器/J 驱动程序)并选择自定义。删除较早的驱动程序并将其指向最新的驱动程序(C:\Program Files (x86)\NetBeans 7.3\ide\modules\ext\mysql-connector-java-5.1.23-bin.jar)。单击确定并重新启动 IDE。

      这应该可以解决问题。

      【讨论】:

      • 我在一个游戏项目中遇到了类似的工作,“mysql”%“mysql-connector-java”%“5.1.26”,成功了
      【解决方案6】:

      这看起来像是来自 JDBC 驱动程序的错误。当 JDBC 驱动初始化连接时,它会向 MySQL 服务器发送几个命令,其中之一是:

      SET OPTION SQL_SELECT_LIMIT=DEFAULT
      

      问题是SET OPTION 语法已被弃用一段时间,现在在 MySQL 5.6 中不再有效。这是来自 MySQL 错误数据库的相关错误对话:

      Bug #66659: mysql 5.6.6m9 fails on OPTION SQL_SELECT_LIMIT=DEFAULT

      尝试升级您的 JDBC MySQL 驱动程序。错误对话列出了一些其他选项,以防无法升级驱动程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多