H2(使用MODE = MYSQL打开)支持INSERT ON DUPLICATE KEY UPDATE语句仅与VALUES子句同时抛出“唯一索引或主键使用INSERT SELECT语句时出现“冲突”错误。H2 INSERT SELECT ON DUPLICATE KEY UPDATE抛出“唯一索引或主键违例”错误
下面是一个例子:
-- creating a simple table
CREATE TABLE test_table1 (
id INT NOT NULL,
value VARCHAR(255) NOT NULL,
PRIMARY KEY (id))
ENGINE = InnoDB;
-- inserting a value
INSERT INTO test_table1
VALUES (1, 'test1');
-- trying to insert on duplicate key update: it works!
INSERT INTO test_table1
VALUES (1, 'test2')
ON DUPLICATE KEY UPDATE value='test2';
-- trying using INSERT SELECT: it throws Unique index or primary key violation: "PRIMARY KEY ON PUBLIC.TEST_TABLE1(ID)"
INSERT INTO test_table1
SELECT 1, 'test2'
FROM test_table1
ON DUPLICATE KEY UPDATE value='test2';
我使用H2数据库版本1.4.192。 这是一个错误?或者我的代码有问题吗?
谢谢
我没有使用MySql,我正在使用H2版本1.4.192(问题更新) – user1781028