想象一下,數據的現有表(名字不言自明):多個插入行,如果不存在(基於多列)
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