九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


MySQL子查詢更新表時為何加一層包裹能解決報錯?


avatar
小浪云 2024-11-09 216

MySQL子查詢更新表時為何加一層包裹能解決報錯?

sql子查詢更新表時加一層包裹為何奏效?

mysql中,更新語句(如delete、INSERT、UPDATE)需要更新的表和子查詢中的FROM表不能相同。這導致了以下sql語句報錯:”delete FROM sys_post WHERE post_id NOT IN (select MIN(post_id) AS min_id FROM sys_post GROUP BY post_name);”。

然而,通過給子查詢加一層括號包裹,問題得以解決:”delete FROM sys_post WHERE post_id NOT IN (SELECT t.min_id FROM (SELECT MIN(post_id) AS min_id FROM sys_post GROUP BY post_name) t);”。

這一設計的緣由來自MySQL自身的機制限制,其他數據庫沒有這樣的約束。根據官方文檔,更新語句和子查詢FROM中的表不能指向同一張表。

為了繞開這一約束,MySQL提供了一個解決方法:創建一張中間表(衍生表)并為其指定一個別名,然后在子查詢中使用該別名。

在本例中,添加了一個中間表”t”,并指定其為子查詢派生表的結果。由于”t”與要更新的表”sys_post”不同,因此更新操作得以順利執行。

相關閱讀

主站蜘蛛池模板: 中文字幕国产视频 | 免费xxxx大片国产在线 | 亚洲一区有码 | 麻豆一区二区三区精品视频 | 精品久久国产 | 亚洲欧美中文日韩在线v日本 | 欧美精品欧美精品系列 | 久久久久亚洲精品 | 精品麻豆剧传媒av国产九九九 | 96av麻豆蜜桃一区二区 | 国产精品99久久久久久宅男 | 亚洲一区在线日韩在线深爱 | 99色视频| 日韩在线免费视频 | 国产乱码精品一区二区三区忘忧草 | 99热热99| 手机av在线 | 午夜影院在线观看免费 | 国产精品久久福利 | 精品国产一级 | 国产精品成人一区二区三区吃奶 | 二区中文| 污片在线观看 | 野狼在线社区2017入口 | 妞干网福利视频 | 久久99深爱久久99精品 | 国产精品国产三级国产aⅴ中文 | 毛片.com | 伊人狠狠干| 久久激情av | 九九综合 | 91精品国产综合久久久久久 | 国产精品久久久久久吹潮 | 欧美日韩不卡 | 国产中文字幕在线 | 欧美一区视频在线 | 国产91网站在线观看 | 91亚洲国产成人久久精品网站 | 欧美一区二区在线观看 | 精品三级在线观看 | 久久久久九九九女人毛片 |