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

Hello! 歡迎來到小浪云!


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


avatar
小浪云 2024-11-09 190

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

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

mysql中,更新語句(如delete、INSERT、UPDATE)需要更新的表和子查詢中的FROM表不能相同。這導(dǎo)致了以下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);”。

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

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

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

相關(guān)閱讀

主站蜘蛛池模板: 伊人久操 | 日韩欧美一区二区三区四区 | 日韩高清中文字幕 | 一区二区成人 | 欧美日韩在线一区二区 | 国产精品久久久久久婷婷天堂 | 免费一区二区在线观看 | 国产精品视频一二三区 | 亚洲成人免费在线观看 | 亚洲网站观看 | 天天操天天摸天天干 | 欧美一区二区三区 | 中文字幕不卡 | 国产aⅴ爽av久久久久久久 | 91新视频 | 九色 在线 | 国产日韩精品视频 | 一区二区三区精品 | 久久com | 免费国产视频 | 91精品国产91久久综合桃花 | 国产精品免费一区二区三区四区 | 中文字幕在线电影观看 | 亚洲国产一区二区三区, | 国产精品久久久久不卡 | 欧美激情一区二区三区 | 蜜桃视频在线观看免费视频网站www | 欧美网站一区 | 日韩成人在线播放 | 国产蜜臀| 久久综合久久久 | 综合国产在线 | 亚洲有码转帖 | 国产精品久久久久久久7777 | 国产欧美日韩精品一区二区三区 | 欧美日韩在线观看一区二区三区 | 国产午夜精品久久 | 日韩精品在线免费观看视频 | 国产精品日韩欧美一区二区三区 | 日韩精品久久久久 | 亚洲精品区 |