MySQL数据库表mydata
有六列,比如index
,cola
,colb
,colc
,cold
,{{1} }。
索引是AUTO_INCREMENT。
我有一组新的值cole
,vala
,valb
,valc
,vald
。
我想将这些值插入表中,当且仅当没有“相似”记录时,定义为(vale
和cola=vala
和colb=valb
)。 (如果有这样的记录,什么都不做,我对这些数据不感兴趣。)
我认为这样的事情,但我无法达到正确的语法:
colc=valc
答案 0 :(得分:1)
您需要先将这些列添加到复合键中。
您可以使用REPLACE而不是INSERT来覆盖旧行。在处理包含复制旧行的唯一键值的新行时,REPLACE是INSERT IGNORE的对应物:新行用于替换旧行而不是被丢弃。请参见第13.2.7节“REPLACE语法”。
答案 1 :(得分:0)
您可以使用此命令: -
INSERT IGNORE INTO `mydata`(cola, colb, colc, cold, cole, colf)
VALUES (vala,valb,valc,vald,vale,valf)
希望这会对你有所帮助。