SQL多表删除

来源:互联网 发布:数据挖掘就业前景 编辑:程序博客网 时间:2024/04/27 12:33

这是第一次正儿八经的做公司的项目,这次做项目遇到了这个问题,所以把他记下来,要是以后或者别人遇到相同的问题时可以参考!

大概问题就是:两张相关联的表,当根据要求删除一张表的数据时,另一张表里对应的数据也被删除!也就是说,第一张表t1里面有个tid,name,time字段;第二张表t2里有个id,tid,photo字段;两张表相关联的字段时tid;当根据时间删除第一张表里的数据时,第二张表里对应的数据也被删除;

代码如下:

delete t2 from t1 left join t2 on t1.tid=t2.tid where t1.time>=时间段 and t1.time<=时间段

delete t1 from t1 left join t2 on t1.tid=t2.tid where t1.time>=时间段 and t1.time<=时间段

这样就能删除某个时间段t1表和t2内相关联的信息(这里我采用的就是两个删除语句的方法来删除,两个删除之间用空格隔开)

需要注意的是:必须先删除第二张表的内容,然后再删除第一张表的内容;假如颠倒的话就只能删除第一张表而不能删除第二张表;

关于两张表的联合的删除应该还有创建临时表或者联动删除等方法,这些方法我不太会用!当然,知道的也可以留下你们见解!谢谢!

 

原创粉丝点击