日期:2014-05-16  浏览次数:20723 次

mysql批量删除数据的存储过程怎么写
批量删除100万数据,删除一万行数据提交一次。
 如有A、B表,A、B表数据id相同,根据id删除A表的数据.这个怎么修理?

------解决方案--------------------
如有A、B表,A、B表数据id相同,根据id删除A表的数据.这个怎么修理?
delete a from a inner join b on a.id=b.id
------解决方案--------------------
---表的连接查询
DELETE FROM a
INNER JONN b
ON a.id=b.id
------解决方案--------------------
大量数据会有这个问题,甚至会导致你的回滚段不足。
一般是用游标处理。

对B表打开游标,然后逐个删除A表中ID对应的记录。每删除一个提交一次。
------解决方案--------------------
探讨
mysql> call delrows();
ERROR 1305 (42000): PROCEDURE china.delrows does not exist
mysql> call delrows(tmp_lastip25,tmp_lastip);
ERROR 1305 (42000): PROCEDURE china.delrows does not exist


在调用时报……