2011-09-04 94 views
1

我有一堆的商店数据库,并每月一次有人向我发送一个电子表格与取消当月所以我需要每个月删除30-40商店。MySQL的删除多个记录

有没有快速的方法来做到这一点?现在我只是手动进入并删除它们,因为有时只有8-10,但这最后一个电子表格有一堆,我很想让这个过程更快。

+0

在您要删除的商店中是否有任何常见功能? – Throoze

+0

我知道在SQL Server中,您可以将Excel工作表导入到数据库中,然后使用连接来查找与您的电子表格匹配的商店并删除它们。但是,我从来没有使用MySQL,所以我不知道他们是否有这样的导入界面;-) – jadarnel27

+0

详细的博客:http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/ –

回答

6

根据您想如何技术获得,你可以创建一个过程,需要您的电子表格作为输入,并删除在那里列出的。那么建议每次保持电子表格结构相同。

否则,你可以简单地使用一个SQL语句,这样

delete from stores where store_id in (:ids); 

delete from stores where store_name in (:names); 

和手动存储ID或名字的列表复制为其中一个逗号分隔的列表:变量。如果您使用的是姓名,请确保每个姓名都附有'。

+0

+1,这将工作(并且肯定比OP现在要做的更快)。 – jadarnel27

+0

谢谢!这可能会很好。虽然我不得不从帐号中删除,并且有些商店有相同的帐号..虽然不是很多,但有些是这样做的,所以这可能会很糟糕。 – Drew

+0

@drew您只需将___替换为您商店的区分属性即可。我想应该有一种方法可以将商店A与商店B区分开来。 – dispake

0

这取决于这些商店是否有共同的东西让你对它们进行分类。在MySQL中,语法是DELETE FROM tableName WHERE condition;其中tableName是你要去哪里执行DELETE查询表的名称,condition是一个布尔表达式,它告诉DBMS如何对它们进行分类:即:

DELETE FROM shop WHERE NOW() - last_activity > 7; 

那将消除已经停用一周以上的商店。