1樓:
用事務處理來刪除,a,b表關聯資料的刪除需要放在同一事務中
2樓:
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裡有匹配的記錄全刪除 掉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
在資料裡面執行是錯誤的(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
在資料裡面執行是錯誤的(mysql 版本小於5.0在5.0中是可以的)
mysql中兩個表的資料怎麼關聯
3樓:兄弟連教育
select b.id,b.數量,a.類別 from b inner join a on b.類別=a.id
解釋:你的意思是否是b表的類別於a表的id為相同型別的資料(數回字),如果是答的話,很簡單,就是把兩個表做個結合,用b表的類別和a表的id作為結合條件
三張關聯的表,如何通過delete語句同時刪除三張表的同一id內容?
4樓:御宇逍遙哥
例如三個表a,b,c的關聯:
如果b的二級資料或c的二級資料不一定存在,用以下語句:
delete a,b,c from a left join b on b.id_b=a.id left join c on c.
id_c=a.id where (b.id_b=a.
id) or (c.id_c=a.id);
刪除3個表都存在的關聯資料:
delete a,b,c from a,b,c where a.id=b.id_b and a.id=c.id_c。
在資料庫中如何刪除關聯了2個表中的一些資料
5樓:du瓶邪
一個比較簡單的方法,在資料庫的主外來鍵關係裡面設定,如下圖所示:
這樣在主表中刪除該條資訊時,所有從表中應用到該條資訊的資料就會刪除了。
6樓:匿名使用者
delete from a inner join b on a.cid=b.id
7樓:a不才小生
delete form(select * from table_name1 a
inner join table_name2 b on a.編號=b.序號
where b.型別='1')
mysql如何同時查詢兩個表中同一屬性的資料
8樓:周鵬之颸
聯合查詢,欄位名相同可以設定別名
select a.name as aname,b.name as bname from a
inner join b on a.id=b.id
9樓:王同學
select name from a union select name from b
SQL兩張表合併,任意兩張表,無關聯,只要求合併即可,謝謝
在t表中插入t1表在查詢分析器上寫個簡單的sql語句大概這樣 insert into t values select from t1 把t1表中的逐條資訊插入到表t中,用 create table c as select from a union all select from b 但是這個應該是沒...
大家幫忙解決SQL語句的問題,兩張表的關聯查詢
select from a where exitsts select from b where b.uid a.uid and b.viewflag 1 and b.enddate getdate 0 order by a.id desc 或者select from a inner join b o...
SQL兩張表合併 兩張表的列都相同
四舍 入 1 第一種,用一張臨時表,把所有資料都放在一張表裡insert into qunlist select from qunlist89,90,91,92 再在qunlist中查詢 2 第二種,用 union all方式查詢select from qunlist89union all sele...