NetBeans使用MySQL时出现SQL语法错误

3
我正在完成NetBeans电子商务教程,但遇到了以下问题。
这是教程的相关部分链接。我具体卡在了“将示例数据添加到数据库”这一步上。 当我执行此命令:select * from category;时,出现错误。请您帮忙解决。
Error code 1064, SQL state 42000: 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 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
Line 1, column 1

尽管表不为空集,但此选择的任何值均不显示。
我在NetBeans IDE 7.3 RC2中使用“执行命令”选项在数据库资源管理器模块内执行此命令。
我想如果问题不是出在我的数据库使用的编码方式上。我之前使用的是utf8 - utf8_unicode_ci,然后我将其更改为utf8默认排序规则,但没有变化。
我使用的是MySQL 5.6.10,并通过MySQL Workbench进行管理。
非常感谢您的答案 :)
编辑和部分解决方案: 为了完成我的答案并部分回答它。我不知道Netbeans中的SQL脚本编辑器为什么无法工作。但最终我成功地创建了连接池和数据源。所有通过JSP页面使用数据源进行的查询都可以正常工作。

错误信息与您所声称正在运行的语句不匹配。 - user330315
NetBeans是否可能在查询之前发送附加参数?无论如何,使用除NetBeans之外的其他工具进行数据库查询。我建议使用MySQL命令行客户端。 - Xnoise
查询在标准的MySQL命令行中运行良好。问题是我想在NetBeans下使用Java EE中的ConnectionPool和DataSource来生成JPA实体,但我也无法创建此池。我已经测试了标准的Java DB Derby,那里的命令也可以正常工作 :) - Reshi
我已经修复了连接池,但仍然不确定为什么NetBeans SQL编辑器不起作用 :) 可能如 a_horse_with_no_name 所说,NetBeans会在SQL中添加一些代码,导致它无法工作。但是很奇怪,因为我记得我以前使用过这个编辑器... 嗯 - Reshi
3个回答

3

谢谢您的回答 :) 因此,由于这个事实,旧版本的NetBeans与旧版的MySQL配合工作! :) - Reshi
@Reshi - 其实使用任何旧版MySQL的NetBeans都会出现这个问题。问题在于MySQL改变了允许代码使用的语法。多年来,MySQL一直在警告人们他们将要删除这个功能,但是NetBeans开发团队从未更新过他们的连接器,可能是基于“如果它不坏,就不要修复它”的理念。当MySQL开始删除该功能时,它最终崩溃了。 - invertedSpear

3

这是mysql驱动程序的一个bug。在NetBeans中,使用最新版本的mysql驱动程序更换jar文件。例如,使用mysql-connector-java-5.1.24版本,NetBeans中的“查看数据”命令可以正常工作。


0

NetBeans在MySQL命令中以不同的方式评估字段,如果您键入此语法,则会发生以下情况:

insert into user ('username', 'password') values ('xyz', 'abc');

它将完美地工作,但在NetBeans中,表和字段名称不是用单引号而是用``这种引号表示,因此在NetBeans中,以下内容将完美地工作:

insert into user (username, password) values ('xyz', 'abc');

其中像xyz和abc这样的字符串用单引号表示...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接