我正在使用MYSQL 5.1,我试图在我的java类中编写一个insert语句。这听起来很简单,但我尝试并获得例外。我确信我的代码存在语法错误。以下是任何人可以帮助我的片段。
请帮帮我。
错误:
未执行SQL语句!com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'£10,£20,£50,£100,trans_Id'附近使用正确的语法。值(7,'hello','hello','2','2 ','2','2','2','他'在第1行
代码:
String query = "INSERT INTO atm_data (ID,atm_Id, sysDate, availBalance, £10, £20, £50, £100, trans_Id) VALUES (7,'hello','2010-09-15 01:20:06','2','2','2','2','2','hello')";
答案 0 :(得分:1)
看起来你只需要用反引号来转义以£
开头的列名:
INSERT INTO atm_data (ID, ... `£10`, `£20`, `£50`, `£100` ...
测试用例:
CREATE TABLE tb (`£10` int);
Query OK, 0 rows affected (0.05 sec)
INSERT INTO tb (£10) VALUES (10);
ERROR 1064 (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 '?10) VALUES (10)' at line 1
INSERT INTO tb (`£10`) VALUES (10);
Query OK, 1 row affected (0.00 sec)