#java #mysql #database #jdbc
#java #mysql #База данных #jdbc
Вопрос:
Я получаю MySQLSyntaxErrorException: Unknown column 'quantity' in 'field list'
сообщение об ошибке при вставке значения в мою базу данных mysqldatabase. У меня есть количество столбцов в моей таблице, но в списке полей указано неизвестный столбец. Ниже приведен мой код, и я понятия не имею, что с ним не так. Кто-нибудь может мне помочь? Заранее благодарю вас.
query = "insert into tbl_reservations(cust_name,product_name,quantity,price,total,purchase_date,order_number,status) values ('" nam "','" name[x] "','" quantity[x] "','" fprice[x] "','" price[x] "','" currentDate "','" rnum "','" status "')";
System.out.println(query);
int i = st.executeUpdate(query);
System.out.println(query);
Добавление сведений о ТАБЛИЦЕ в вопрос (взятие его из комментария) для удобства чтения:
Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
cust_name varchar(255) YES NULL
quantity int(11) YES NULL
price double NO NULL
total double NO NULL
purchase_date date YES NULL
order_number int(255) NO NULL
status varchar(255) NO NULL
Комментарии:
1. Пожалуйста, предоставьте вывод:
describe tbl_reservations
.2. Тип поля Null Ключ по умолчанию Дополнительный идентификатор int(11) НЕТ PRI NULL авто_инкремент cust_name varchar(255) ДА NULL количество int(11) ДА NULL цена double НЕТ NULL итого double НЕТ NULL дата покупки ДА NULL номер заказа int(255) НЕТ NULL статус varchar(255) НЕТ NULL
3. Вы используете hibernate или, может быть, какой-то другой orm?
4. я не знаю, что означает orm или hibernate. извините, вы можете объяснить?
5. выполняется запрос, и он вставляет данные в мою таблицу, но выдает это исключение. я не знаю, почему
Ответ №1:
Переход в спящий режим именования полей с весенней загрузкой
следуйте этому руководству: https://www.baeldung.com/hibernate-field-naming-spring-boot
с помощью spring-boot-starter-data-jpa
Если мы создадим учетную запись вызова объекта
@Entity
public class Account {
@Id
private Long id;
private String defaultEmail;
}
Спящий режим: создать учетную запись таблицы (идентификатор bigint не равен нулю, переменная default_email(255))
в этом случае нам не нужно указывать свойства физической стратегии или неявной стратегии, поскольку мы принимаем значения по умолчанию.