亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


如何使用單一SQL語句刪除多表數據,即使其中某些表沒有對應記錄?


avatar
小浪云 2024-11-11 167

如何使用單一SQL語句刪除多表數據,即使其中某些表沒有對應記錄?

如何通過單一sql語句實現多表刪除?

你在刪除多表數據時遇到問題,你的sql語句無法成功刪除所有相關記錄。這是因為你的語句使用的是內連接,這要求所有被連接的表都必須含有要刪除記錄的id。第三張表中沒有符合條件的數據,導致前兩張表中的數據也無法刪除。

要解決此問題,你可以使用左連接。左連接允許你刪除在任意一個表中存在該id的記錄,即使其他表中沒有對應記錄。

改正sql語句:

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

使用左連接后,只要前兩張表中的任意一張含有需要刪除記錄的id,該記錄就會被刪除,即使第三張表中沒有對應記錄。

sql學習資源:

  • w3schools教程https://www.w3schools.com/sql/
  • 菜鳥教程:https://www.runoob.com/sql/sql-tutorial.html
  • sql文檔:https://www.sqlite.org/lang.html

相關閱讀