久综合色-久综合网-玖草影视-玖草资源在线-亚洲黄色片子-亚洲黄色片在线观看

Hello! 歡迎來到小浪云!


如何通過單一語句刪除多張表中符合特定條件的記錄?


avatar
小浪云 2024-11-11 171

如何通過單一語句刪除多張表中符合特定條件的記錄?

通過單一語句實現多表刪除

本文將解決如何在sql語句中通過單一語句實現多表刪除。

問題

有一張dish表,一個dish_flavor表和一個setmeal_dish表。需要刪除dishid為51和52的所有記錄。但是,使用以下sql語句時,并沒有刪除相應記錄:

delete dish, dish_flavor, setmeal_dish  from dish, dish_flavor, setmeal_dish   where dish.id = dish_flavor.id and dish.id = setmeal_dish.id and dish.id in (51, 52);
登錄后復制

原因

此語句本質上等價于:

delete dish, dish_flavor, setmeal_dish  from     dish     join dish_flavor on dish.id = dish_flavor.id      join setmeal_dish on dish.id = setmeal_dish.id  where      dish.id in ( 51, 52 );
登錄后復制

由于第三張表中沒有符合條件的數據,因此不會刪除任何記錄。內連接要求三張表中都必須存在該id的記錄,才會刪除該記錄。

解決方案

如果希望當有任何一張表中存在要刪除的id時就進行刪除,可以使用左連接:

DELETE dish, dish_flavor, setmeal_dish  FROM     dish      LEFT JOIN dish_flavor ON dish.id = dish_flavor.id     LEFT JOIN setmeal_dish ON dish.id = setmeal_dish.id WHERE     dish.id IN ( 51, 52 );
登錄后復制

這樣,即使第三張表中沒有數據,前兩張表中的數據仍然會被刪除。

相關閱讀

主站蜘蛛池模板: 中文字幕亚洲精品久久 | 免费一级特黄特色黄大任片 | 女人张开腿让男人捅视频 | 午夜dj视频完整社区 | 欧美一级片观看 | 久久精品国产一区二区 | 美女被免费网站在线视频软件 | 亚洲欧美中文在线观看4 | 色一伦一情一区二区三区 | 欧美一区二区三区精品 | 久综合 | 欧美一级成人免费大片 | 一级成人a毛片免费播放 | 亚洲精品成人中文网 | 日韩精品国产一区 | 欧美成人久久久免费播放 | 好吊妞国产欧美日韩视频 | 欧美大尺度aaa级毛片 | 欧美视频 亚洲视频 | 久草国产视频 | 欧美日韩一区二区三区视频在线观看 | 寂寞午夜影院 | 国内视频一区二区 | 亚洲人成在线影院 | 国产v日韩v欧美v精品专区 | 欧美白人和黑人xxxx猛交视频 | 一级特级aaa毛片 | 国产精品亚洲第一区二区三区 | 免费在线一区二区三区 | 末满18以下勿进色禁网站 | 欧美一级毛片俄罗斯 | 成人夜色视频网站在线观看 | 久久精品视频在线观看 | 久久艹在线 | 日本成本人视频 | 欧美视频xxxxx | www久久com| 色国产精品 | 在线观看一级毛片 | 毛片免费在线 | 三级免费毛片 |