内蒙古java团队

j2se,j2ee开发组
posts - 139, comments - 212, trackbacks - 0, articles - 65
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

MySQL中多表删除方法【转】

Posted on 2013-09-24 09:32 帅子 阅读(1617) 评论(0)  编辑  收藏 所属分类: j2ee技术专区

  1、从MySQL数据表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、从MySQL数据表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中是可以的)

 


只有注册用户登录后才能发表评论。


网站导航: