想象一下,数据的现有表(名字不言自明):多个插入行,如果不存在(基于多列)
id
,name
,telephone_1
,telephone_2
我想插入多条新记录与一个INSERT
(希望多个新记录与一个插入 - 如果这是一个问题,我可以回落插入一个接一个),但我想要添加一个新行,只有在新记录的telephone_1
或telephone_2
确实不存在或者在telephone_1
或现有记录的telehpone_2
。
这意味着如果我们现有的数据
1, Jimmy, 123, 456
我不应该能够添加
NULL,John,444,123
因为约翰的telephone_2
吉米的telephone_1
已经存在。
我打算让mysql做沉重的工作,而不是我的程序,但我该怎么做?我已经做了在使用UNIQUE
指数过去类似的东西,但在这种情况下,问题是,列2 telephone_1
不应telephone_1
碰撞,也不应与telephone_2
(和同为telephone_2
)
UPDATE-CLARIFICATION:我想要插入的数据不是从另一个表格;它们是从我的程序中随时产生的。
我喜欢这个! :D – Sharky 2014-09-02 10:43:10
@Sharky:小修正增加了'LIMIT 1;'来查询 – Rimas 2014-09-02 14:41:05