共計(jì) 693 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
自動(dòng)寫(xiě)代碼機(jī)器人,免費(fèi)開(kāi)通
丸趣 TV 小編給大家分享一下 mysql 中 delete from where 子查詢(xún)的限制是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
1、使用 mysql 進(jìn)行 delete from 操作時(shí),若子查詢(xún)的 FROM 字句和更新 / 刪除對(duì)象使用同一張表,會(huì)出現(xiàn)錯(cuò)誤。(相關(guān)推薦:MySQL 教程)
mysql DELETE FROM tab where id in (select min(id) from tag GROUP BY field1,field2 HAVING COUNT(id)
error: You can t specify target table tab for update in FROM clause.(不能為 FROM 子句中的更新指定目標(biāo)表 tab)
針對(duì)“同一張表”這個(gè)限制,多數(shù)情況下都可以通過(guò)多加一層 select 別名表來(lái)變通解決,像這樣
DELETE FROM tab where id in
select id from
select max(id) from tab GROUP BY field1,field2 HAVING COUNT(id) 1
) ids
);
2.delete from table… 這其中 table 不能使用別名
mysql delete from table a where a.id in (1,2);(語(yǔ)法錯(cuò)誤)
mysql select a.* from table a where a.id in (1,2);(執(zhí)行成功)
看完了這篇文章,相信你對(duì) mysql 中 delete from where 子查詢(xún)的限制是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!
向 AI 問(wèn)一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!