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

前 3者是可行的,第4者不可行。

也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除关系,则可以实现删除一个表的数据时,同时删除另一个表中相关的数据。

1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除 掉

DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

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、 从两个表中找出相同记录的数据并把两个表中的数据都删除掉

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

注意此处的delete t1,t2 from 中的t1,t2不能是别名

如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

上述语句改 写成

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 在数据里面执行是错误的(MySQL 版本小于5.0在5.0中是可以的)

最新文章

  1. Wintel物联网平台-Windows IoT新手入门指南
  2. (转) How to Train a GAN? Tips and tricks to make GANs work
  3. windows下为mysql添加日志
  4. NGUI 图片变灰
  5. WCF 自托管、无配置文件实现jsonp(跨域)的访问
  6. Ubuntu Server如何配置SFTP
  7. iOS另类的内存管理
  8. 七牛云覆盖上传 php
  9. 算法之插入排序(inertionSort)
  10. 解决 SQLSERVER 2008 无法删除作业
  11. centos上如何安装mysql
  12. Android零碎知识点总结
  13. fpga该驱动器调试dev_dbg 无输出
  14. 显示图像的SIFT flow描述子
  15. margin纵向重叠
  16. CentOS7开启docker远程访问并在idea中连接使用
  17. nginx upstream的配置
  18. vue-router-6-命名视图
  19. javascript中的立即执行函数(function(){…})()
  20. Java虚拟机 - 结构原理与运行时数据区域

热门文章

  1. 7z压缩文件时排除指定的文件
  2. MVC认知路【点点滴滴支离破碎】【一】----新建数据库
  3. PHP配置详解
  4. java中的@Override标签,小细节大作用
  5. jquery里的on方法使用
  6. java 上传图片 并压缩图片大小
  7. [转]领域驱动设计系列文章(2)——浅析VO、DTO、DO、PO的概念、区别和用处
  8. 去掉iPhone、iPad的默认按钮样式 去掉高光样式:
  9. mssql-异常value '0000-00-00' can not be represented as java.sql.Date
  10. Hibernate-注解-实体类