Tôi đang sử dụng H2. Tôi muốn chèn một giá trị vào một bảng nếu nó không tồn tại. Tôi tạo ra các bảng với:Đưa vào bảng h2 nếu không tồn tại
CREATE TABLE IF NOT EXISTS $types
(type VARCHAR(15) NOT NULL UNIQUE);
Và tôi muốn làm một cái gì đó giống như
REPLACE INTO types (type) values ('type1');
tôi thấy an example về Thay thế mà dường như làm việc cho MySQL nhưng tôi đang sử dụng h2. Nhưng tôi nhận được một lỗi khi tôi chạy này từ giao diện điều khiển h2 tôi:
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
Tôi cũng đã cố gắng
INSERT IGNORE INTO types (type) values ('expense');
và
INSERT INTO types (type) values ('expense') ON DUPLICATE KEY UPDATE type=type;
Tôi không quan tâm nếu chèn mới ghi đè dữ liệu cũ hoặc nếu nó không thực hiện chèn mới. Có cách nào để làm điều này với cơ sở dữ liệu h2?
bạn có thể thực hiện 'DROP TABLE IF EXISTS' http://www.h2database.com/html/grammar.html#drop_table sau đó bắt đầu từ đầu không? – jchapa
Cảm ơn bạn đã liên kết đến ngữ pháp, có vẻ như không có công cụ sửa đổi nào giống như MySQL cho câu lệnh Chèn: http://www.h2database.com/html/grammar.html#insert. Tôi không nghĩ rằng tôi sẽ thả bàn của tôi, mặc dù. – Alison