mysql怎麼刪除兩張有關聯的表的資料

時間 2021-10-14 22:23:54

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...