我想同时从数据库中删除许多表,我怎样才能实现这样的目标?有什么特别的查询或方法吗?
问问题
257 次
1 回答
1
从手册:
您可以在一个语句中指定多个表,以
DELETE
根据WHERE
子句中的特定条件从一个或多个表中删除行。多表语法:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
对于多表语法,
DELETE
从每个 tbl_name 中删除满足条件的行。对于第一个多表语法,仅删除 FROM 子句之前列出的表中的匹配行。对于第二种多表语法,仅删除 FROM 子句(在 USING 子句之前)中列出的表中的匹配行。效果是您可以同时从许多表中删除行,并拥有仅用于搜索的附加表:
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;
或者:
DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;
于 2013-03-08T14:28:50.877 回答