达梦数据库(DM Database)并不直接支持INSERT IGNORE INTO这一MySQL特有的语法。

INSERT IGNORE INTO在标准SQL中的用法和目的

INSERT IGNORE INTO是MySQL特有的语法,用于在插入数据时忽略唯一性约束冲突。如果尝试插入的数据违反了表中的唯一性约束(如主键或唯一索引),MySQL会忽略该插入操作,而不是抛出错误。适用于出厂数据库脚本。

达梦数据库替代方法

在达梦数据库中,可以使用INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX */ INTO这一提示(hint)来实现类似INSERT IGNORE INTO的功能。这个提示告诉达梦数据库在遇到重复键时忽略插入操作。

drop table test;
create table test(c1 int PRIMARY key);
insert into test values(1);
insert into test values(2);
COMMIT;

--MySQL的语法
insert ignore into test values(1);

--DM的语法(Oracle也适用)
insert /*+IGNORE_ROW_ON_DUPKEY_INDEX(TEST(C1))*/ into test values(1);

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐