(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称:MySQL
数据库版本:
内容/问题描述:
想请教一个算是比较基本的语法
我现在有很多张表(这里我简化成3张表)
第二张到最后一张表都有一个field叫做t1_seq
这个字段表示第一张表的seq
现在我想要把t1中的seq=100这笔资料删掉
顺便我把所有其他表里面t1_seq=100也删掉
要怎么做呢
t1{
seq
}
t2{
seq
t1_seq
}
t3{
seq
t1_seq
}
目前我的写法是
delete t1,t2,t3 from t1, t2, t3
where t1.seq='100' and
t2.t1_seq=t1.seq and
t3.t1_seq=t1.seq
这样子做会发生一个问题
当三张表都有 seq= '100'(t1) t1_seq='100'(t2,t3)时
可以顺利删除成功
但假设t3里面没有t1_seq='100'的话
t1,t2中的东西也无法被删除
目前想到就是拆开来 一个一个去delete
是否可以教我如何用更简单的方式来写
join group union之类的东西一直没学好
应该可以很简单的用一个statement解决这个事情
谢谢