用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

MySQL多表关联数据同时删除sql语句

时间:2015-01-23  来源:西部数据  作者:西部数据

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 条件  

category(栏目信息表)和news(新闻数据表).

category中的id(栏目编号)字段作为该表的主键(primary key),唯一标识了一个栏目的信息.

news 中的id字段作为该表的主键(primary key),唯一标识了一个栏目的信息。

category_id(栏目编号)字段与category表的id字段相关联.

1.SQL删除语句,代码如下:

delete category,news from category left join news on category.id = news.category_id

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.id

2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉1,代码如下:

DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或 DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL

3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉1,代码如下:

DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25 

注意此处的delete t1,t2 from 中的t1,t2不能是别名,代码如下:

  1. delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25  --phpfensi.com 

在数据里面执行是错误的,MYSQL 版本不小于5.0在5.0中是可以的,上述语句改 写成1  ,代码如下:

delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门