#java #mysql #sql
#java #mysql #sql
Вопрос:
это код
PreparedStatement res1 = null;
String insertUser = "INSERT INTO users (uid,firstname,lastname,score) VALUES ("
this.getFbUid() ","
this.getFbFirstName() ","
this.getFbLastName() ",0)";
System.out.println(insertUser);
try
{
res1 = connection.prepareStatement(insertUser);
res1.executeUpdate();
System.out.println("executed query to db with the message" res1);
}
catch(SQLException e)
{
System.out.println("setUserInDb: " e.getMessage());
System.out.println("error num: " e.getErrorCode());
}`
Я начинаю понимать error code 1054
:
Неизвестный столбец «Alon» в «списке полей» при попытке вставить строку «ВСТАВИТЬ В ЗНАЧЕНИЯ пользователей (uid, firstname, lastname, score) (123456, Alon, xyz, 0)
В БД у меня есть таблица users
со varchar
столбцами uid
, firstname
, lastname
, и score
.
Что я делаю не так?
Ответ №1:
Alon
кажется, или тип varchar должен быть под '
Скорее используйте подготовленную инструкцию
Комментарии:
1. как исправить мою строку в java?
2. Вы неправильно его использовали, смотрите Здесь
Ответ №2:
Как и указал Джигар,
Когда вы вставляете строковые значения в таблицу, вы должны использовать значения внутри одинарных или двойных кавычек (‘ или «). Например, «Привет», «Привет».
Комментарии:
1. Обязательно используйте одинарные кавычки:
'Hello'
. Двойные кавычки предназначены для цитирования имен объектов. Я знаю, что MySQL допускает нестандартные кавычки, но нет необходимости использовать его, если также принят стандартный синтаксис.