是否可以像迭代一样在 while 循环中删除?
ex:
id value
1 12
1 13 - should delete
1 14 - should delete
2 15.3
2 43 - should delete
2 22 - should delete
现在我需要删除每第二行和第三行( i%2==0 || i%3==0 )行。
最佳答案
进行备份后尝试此操作:
DROP TABLE IF EXISTS temptt;
CREATE TEMPORARY TABLE temptt (`id` INT, `value` INT);
INSERT INTO temptt
SELECT * FROM your_table GROUP BY id;
DELETE t1.*
FROM your_table t1 LEFT JOIN temptt t2
ON t1.id = t2.id AND t1.value = t2.value
WHERE t2.id IS NULL;
其想法是在临时表中插入不应删除的数据,然后删除 your_table 中不在该表中的所有数据。
关于mysql - 使用迭代器删除 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993995/