我有查询
INSERT INTO tests2 (`name`, `val1`, `val2`, `val3`, `rotation~time`, `rotation~messages~countdown_format`, `rotation~messages~messages`) VALUES ('Testing', 'Test', 'false', '0', '21', 'Value', '[[Value 1, Value 2]]')
在phpMyAdmin中工作正常,但它给出了一个例外:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 ')' at line 1
在java中使用
调用时statement.execute(query);
(我使用此方法创建连接:)
connection = DriverManager.getConnection(getJDBCString(settings.host(), settings.port(), settings.database()), settings.username(), settings.password());
statement = connection.createStatement();
有什么问题?
修改:
我打算将整数和布尔值保存为字符串
我也尝试将坟墓(`)换成'和'
答案 0 :(得分:0)
我猜测查询的值正在填充Java变量。如果是这样,我会检查'[[Value 1,Value 2]]'是否正确填充了字符串值。 MySQL异常通常发生在错误消息中提供的查询部分之前,因此......
the right syntax to use near ')'
表示问题可能是'[[Value 1,Value 2]]')或 rotation~messages~messages
)