DELETE删除多个表中的数据。 如何同时删除多个关系表中的数据? 这里深刻地说明了:
1 delete from t1 where条件
2 delete t1 from t1 where条件
3 delete t1 from t1,t2 where条件
4 delete t1,t2 from t1,t2 where条件
前三个是可能的,第四个是不可能的。
这意味着,虽然不能只通过delete语句对多个表执行数据删除操作,但是通过建立级联删除并在两个表之间建立级联删除关系,可以在删除一个表中的数据时同时删除另一个表中的相关数据。
1、从数据表t1中将那些id值与数据表t2匹配的记录改为1 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id或DELETE FROM t1 USING t1,T2 where t1.id=T2
2、从数据表t1中找不到与数据表t2匹配的记录,1 delete t1 from t1 left joint2ont1. id=T2.idwheret2. idisnull或DELETE FROM t1,using
3、从两个表中找到同一记录的数据,将两个表中的数据删除1 DELETE t1,T2 from t1 left joint2ont1. id=T2.idwheret1. id=25
请注意,此处的delete t1,t2 from中的t1,t2不是别名
例如,1 delete t1,T2 from table _ name as t1 leftjointable2_ name as T2 ont1. id=T2.idwheretable _ name.id=25
在数据中执行是错误的。 (如果MYSQL版本为5.0以上,5.0即可。 ) )
上述语句改写为1 delete table _ name from table _ name as t1 leftjointable2_ name as T2 ont1. id=T2.idwheretable _ name
在数据中执行是错误的。 (MYSQL版本小于5.0在5.0中是可能的) )。
delete category,newsfromcategoryleftjoinnewsoncategory.id=news.category _ id
转载于:https://www.cn blogs.com/guang/articles/5580924.html