这与这个问题有关,这个问题的解决方案对我不起作用。
我使用NetBeans连接到MySQL数据库(所有运行在本地,所有最新版本,最新的JDBC驱动程序)。我创建了一个简单的表,并用几行数据填充它:
CREATE TABLE STUDENTS(
STUDENTID INTEGER not null primary key AUTO_INCREMENT,
FIRSTNAME VARCHAR(30),
LASTNAME VARCHAR(30),
EMAIL VARCHAR(60)
);
INSERT INTO STUDENTS values ( null, 'Joe', 'Shmoe', 'joeshmoe@email.com' );
使用MySQL命令行,我可以验证数据是否进入数据库(SELECT *)。然而,当我在NetBeans中发出相同的SELECT命令时,我得到了这个奇怪的错误:
In NetBeans
SELECT * FROM Students;
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 12, column 1
我还尝试发出长格式的语句,结果抛出了错误。但是,当我从长格式语句中省略主键字段时,它返回数据:
In NetBeans
SELECT STUDENTID, FIRSTNAME, LASTNAME, EMAIL FROM STUDENTS; <-- THROWS 1064 ERROR
SELECT FIRSTNAME, LASTNAME, EMAIL FROM STUDENTS; <-- WORKS???
我不知道这个错误是什么意思。互联网上的论坛帖子指出了一个已经修复的旧bug,所以我不相信它与NetBeans有任何关系(也许我错了?)。有人能告诉我我哪里做错了吗?
问题解决。这个错误已经在最新的mysql jdbc驱动程序中得到了纠正。
http://dev.mysql.com/downloads/connector/j/