Попытка выяснить, что такое ошибка в этом java-коде.Ошибка синтаксиса Java Java
The SQLException reads: " 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 'order (item_quantity, customer_id, product_id) VALUES (5, 191, 31)'
Таблица заказа выглядит
order_id int pk ai <br>
item_quantity <br>
customer_id int <br>
product_id int <br>
А функция, которая вставляет является:
public void createOrder(int productQuantity, int customerId, int productId) throws SQLException {
sql = "INSERT INTO order (item_quantity, customer_id, product_id) VALUES (" + productQuantity + ", " + customerId + ", " + productId + ")";
try {
int a = stmt.executeUpdate(sql);
if (a == 1) {
System.out.println("Order Added");
} else {
System.out.println("Order Failed");
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
Любая помощь будет высоко оценена, как не могу понять это.
Не могли бы вы отменить «заказ»? – 1000111
[ЗАКАЗ является зарезервированным словом] (http://dev.mysql.com/doc/refman/5.0/en/keywords.html). Напишите '' Заказ'' вместо 'order'. – Satya
Несвязанный с этой конкретной проблемой, но поскольку вы начинаете получать удовольствие от этого способа выполнения SQL, вы должны начать изучать PreparedStatements. Они предлагают вам большую безопасность (если ваши 'int' args были Strings, я сразу же буду задаваться вопросом об атаке SQL-инъекции). – yshavit