我正在寻找一个标准的 SQL " UPSERT
" 语句。如果存在,则一次调用插入和更新。
我正在寻找一个工作,高效和跨平台的电话。
我见过MERGE
, UPSERT
, REPLACE
,INSERT .. ON DUPLICATE UPDATE
但没有任何语句满足需求。
顺便说一句,我使用 MYSQL 和 HSQLDB 进行单元测试。我知道 HSQLDB 是有限的,可能无法满足我的需求,但即使没有它,我也找不到标准的方法。一个只有 MYSQL 和 HSQLDB 的语句现在也足够了。
我一直在四处寻找,但无法得到答案。
我的桌子:
CREATE TABLE MY_TABLE (
MY_KEY varchar(50) NOT NULL ,
MY_VALUE varchar(50) DEFAULT NULL,
TIME_STAMP bigint NOT NULL,
PRIMARY KEY (MY_KEY)
);
任何想法?