2017-01-21 3 views
-1

Я пытаюсь обновить профиль пользователя, введя ввод через форму jsp и сохраняя его в таблице в MYSQL Workbench с помощью сервлета. Я получаю синтаксическую ошибку при обновлении таблицы.Ошибка синтаксиса MySQL при обновлении нескольких столбцов

ps = (PreparedStatement) con.prepareStatement("UPDATE user SET user_id =?, FName=? , LName=?, City=? , Email=? , Country=? , DOB=?, JobPosition=?, Profile_Picture=? WHERE user_id=123"); 
     ps.setInt(1, UserId); 
     ps.setString(2, Fname); 
     ps.setString(3, Lname); 
     ps.setString(4, City); 
     ps.setString(5, EmailId); 
     ps.setString(6, Country); 
     ps.setDate(7, java.sql.Date.valueOf(DOB)); 
     ps.setString(8, JobPosition); 
     if (inputStream != null) { 
      ps.setBlob(9, inputStream); 
     } 

[EDIT]

Ошибка:

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 ''techquo'.'user' set user_id =123, FName='Default' , LName='Default', City='' ,' at line 1 

Это мой SQL-запрос. Я новичок в этом и не могу понять, что не так с синтаксисом. Имя таблицы и имя атрибутов верны. Я перепроверял. Любая помощь будет оценена по достоинству. Благодаря!

+0

Вы можете поделиться этой ошибкой? – Mureinik

+1

Вы заметили недостающее предложение 'WHERE' в вашем заявлении' UPDATE', правильно? Вы знаете, что заставит MySQL обновлять каждую строку в вашей таблице, верно? –

+0

@ О. Джонс, да, я знаю об этом, на самом деле это всего лишь один модуль проекта, а таблица еще не заполнена, поэтому я просто пытался протестировать этот модуль. –

ответ

0

user - зарезервированное ключевое слово. увидеть документы here

попробовать окружив его в обратных кавычках:

ps = (PreparedStatement) con.prepareStatement("Update `user` set user_id =?, FName=? , LName=?, City=? , Email=? , Country=? , DOB=?, JobPosition=?, Profile_Picture=?"); 

также, нет where положения, так что обновление будет применен ко всем строкам - Наверное, не то, что вы хотите.

+0

сэр я попробовал это. По-прежнему отображается та же ошибка. Но спасибо за подсказку, я не знал, что пользователь является зарезервированным ключевым словом. –

Смежные вопросы