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

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 );
登錄后復制

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

相關閱讀

主站蜘蛛池模板: 欧洲freexxxx性 | 日本无卡码一区二区三区 | 在线观看a网站 | 久久免费精品视频在线观看 | 在线国产三级 | 91年精品国产福利线观看久久 | 草草影院在线观看 | 日本特级淫片免费 | 国产成人精品免费视 | 午夜性色福利视频在线视频 | 纯欧美一级毛片免费 | 18在线| 日本三级网站在线线观看 | 男人使劲躁女人视频小v | 美女黄视频网站 | 欧美国产日韩在线 | 超级香蕉97视频在线观看一区 | 最新国产美女肝交视频播放 | 日本在线资源 | 免费99视频有精品视频高清 | 亚洲视频在线观看一区 | 朝鲜美女免费一级毛片 | 亚洲精品视频网 | 国产视频二区 | 欧美一级日韩在线观看 | 欧美日韩在线视频不卡一区二区三区 | 成年女人毛片免费播放视频m | 国产美女做爰免费视频软件 | 在线免费观看日本视频 | 日本一线一区二区三区免费视频 | 欧美黄网在线 | 亚洲韩精品欧美一区二区三区 | 97在线视频网站 | 欧美成人看片黄a免费看 | 99久久国产免费 - 99久久国产免费 | 久久久日本久久久久123 | 欧美一级二级三级视频 | 国产精品极品美女自在线看免费一区二区 | 国产亚洲精品久久久久久午夜 | 国产伦精一区二区三区视频 | 久久久精品2018免费观看 |