Mysql插入命令语法

时间:2010-09-06 16:42:39

标签: mysql database

我正在使用MYSQL 5.1,我试图在我的java类中编写一个insert语句。这听起来很简单,但我尝试并获得例外。我确信我的代码存在语法错误。以下是任何人可以帮助我的片段。

  • ID在主键
  • atm_ID是varchar
  • trasn_id是varchar
  • sysDate是日期
  • rest is int

请帮帮我。

错误:

  

未执行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')";

1 个答案:

答案 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)