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