#mysql #database #h2
#mysql #База данных #h2
Вопрос:
Я использую базу данных H2 и хотел добавить новый столбец в одну из таблиц, используя следующую инструкцию SQL:
ALTER TABLE table_name ADD offer_service boolean
Это сработало нормально, но у меня также есть sql-файл на моем сервере со следующими входными данными:
INSERT INTO restaurant (id, sort_index, name, telephone, location_id, deleted)
VALUES
(1, 10, 'Cafe Boy', '079 999 88 77', 1, false),
(2, 20, 'Huusbeiz', '079 999 88 77', 1, false),
(3, 10, 'Forza', '079 999 88 77', 2, false),
(4, 20, 'Veneto', '079 999 88 77', 2, false),
(5, 10, 'Mr. I', '079 999 88 77', 3, false)
;
Теперь я хотел добавить столбец, который я только что создал, вот так:
INSERT INTO restaurant (id, sort_index, name, telephone, location_id, deleted, offer_service)
VALUES
(1, 10, 'Cafe Boy', '079 999 88 77', 1, false, true),
(2, 20, 'Huusbeiz', '079 999 88 77', 1, false, false),
(3, 10, 'Forza', '079 999 88 77', 2, false, false),
(4, 20, 'Veneto', '079 999 88 77', 2, false, false),
(5, 10, 'Mr. I', '079 999 88 77', 3, false, false)
;
По какой-то причине после повторного запуска сервера это не работает, и я получаю следующую ошибку:
org.h2.jdbc.JdbcSQLException: столбец «OFFER_SERVICE» не найден; инструкция SQL: ВСТАВИТЬ В ресторан (идентификатор, sort_index, … и т.д.)
Я работал над этим в течение последних нескольких часов, помощь была бы признательна. Спасибо!
Комментарии:
1. Действительно ли новый столбец существует в вашей таблице сейчас? Попробуйте
select * from restaurant;
Вы видите это там?2. Да, я это вижу.