0
我有一個表,它看起來像下面如何使用MySQL的加入來處理重複插入時,有沒有主鍵 - MySQL的
CREATE TABLE `groups` (
`id_rec` INT(11) NOT NULL DEFAULT '0',
`id_group` INT(11) NOT NULL DEFAULT '0',
UNIQUE INDEX `unikum` (`id_rec`, `id_group`),
INDEX `idxgroup` (`id_group`))
有像表的ID沒有主鍵上,我可以在重複密鑰子句中使用插入。現在我正嘗試在組表中插入多行與signle MySQL查詢,但我不想插入重複項。現在,我想出的解決方案是創建並插入另一個臨時表,然後在組表和臨時表上使用聯接,以查找重複或非重複(新)記錄。
臨時表看起來像下面
CREATE TEMPORARY TABLE IF NOT EXISTS $tempTable
(id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
group_id INT(11) NOT NULL,
id_rec INT(11) NOT NULL)
現在,在這一點上我不知道它加入我應該使用。任何幫助將grealty讚賞。
太棒了!這看起來很有希望,但一個簡單的問題。這可以處理多個記錄,比如INSERT IGNORE INTO'groups' VALUES(1,1),(1,2),(1,3);? – Shaonline
@Shaonline在這種情況下,重複的值將被跳過,其餘的將被插入。看看[這裏](http://sqlfiddle.com/#!9/31d2f/1)的演示。 –
你能看看這個嗎? http://stackoverflow.com/questions/35943395/how-to-perform-batch-operation-using-mysql-and-php – Shaonline