【发布时间】:2015-07-31 14:40:52
【问题描述】:
MySQL 数据库表mydata 有六列,比如index、cola、colb、colc、cold、cole。
索引为 AUTO_INCREMENT。
我有一组新值,分别是vala、valb、valc、vald、vale。
当且仅当不存在“相似”记录时,我想将这些值插入表中,定义为其中之一(cola=vala 和 colb=valb 和 colc=valc)。 (如果有这样的记录,什么都不做,我对这个数据不感兴趣。)
我想是这样的,但我无法找到正确的语法:
MERGE INTO `mydata`
USING (<something?>)
ON (insert unique key join)
WHEN NOT MATCHED BY TARGET THEN
INSERT (cola, colb, colc, cold, cole)
VALUES (vala,valb,valc,vald,vale)
【问题讨论】:
-
你使用的是哪个数据库??
-
MySQL(编辑后的帖子)。感谢您指出遗漏!
-
我在原始帖子中没有提到还有一个 AUTO_INCREMENT 索引字段。我怀疑这会阻止检测到重复项。
-
@Mark Smith 您可以在 sqlfiddle.com 上发布您的节目创建表和一些示例数据吗?并在此处发布链接?但可以做这样的事情 => sqlfiddle.com/#!9/7ec664/1