Я использую H2. Я хочу вставить значение в таблицу, если оно не существует. Я создаю таблицу с:Вставить в таблицу h2, если она не существует
CREATE TABLE IF NOT EXISTS $types
(type VARCHAR(15) NOT NULL UNIQUE);
И я хочу сделать что-то вроде
REPLACE INTO types (type) values ('type1');
я нашел an example о Replace, что, по-видимому работает для MySQL, но я использую h2. Но я получаю сообщение об ошибке, когда я запускаю это из моей h2 консоли:
Syntax error in SQL statement "REPLACE[*] INTO TYPES (TYPE) VALUES ('expense') "; expected "ROLLBACK, REVOKE, RUNSCRIPT, RELEASE, {"; SQL statement:
REPLACE INTO types (type) values ('expense') [42001-170] 42001/42001
Я также попытался
INSERT IGNORE INTO types (type) values ('expense');
и
INSERT INTO types (type) values ('expense') ON DUPLICATE KEY UPDATE type=type;
Я не волнует, если новая вставка перезаписывает старые данные или если он просто не выполняет новую вставку. Есть ли способ сделать это с помощью базы данных h2?
Вы можете сделать «DROP TABLE IF EXISTS» http://www.h2database.com/html/grammar.html#drop_table, затем начать с нуля? – jchapa
Благодарим вас за ссылку на грамматику, похоже, что нет модификаторов, таких как MySQL для оператора Insert: http://www.h2database.com/html/grammar.html#insert. Хотя я не думаю, что я уронила свой стол. – Alison