Синтаксис команды вставки Mysql - PullRequest
0 голосов
/ 06 сентября 2010

Я использую MYSQL 5.1, я пытаюсь написать оператор вставки в моем классе Java.Звучит очень просто, но я попробовал и получаю исключение.Я уверен, что есть синтаксическая ошибка с моим кодом.ниже приведен фрагмент, который может мне помочь.

  • Идентификатор в первичном ключе
  • atm_ID это varchar
  • trasn_id это varchar
  • sysDate is Date
  • Остальное int

Пожалуйста, помогите мне.

Ошибка:

Оператор SQL не выполняется! com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, чтобы использовать значения около £ 10, £ 20, £ 50, £ 100, trans_Id) VALUES (7, 'hello', 'hello', '2', '2',' 2 ',' 2 ',' 2 ',' he 'в строке 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 Ответ

1 голос
/ 06 сентября 2010

Похоже, вам просто нужно экранировать имена столбцов, которые начинаются с £ с обратными чертами:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...