欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql中錯(cuò)誤:1093-You can’t specify target table for update in FROM clause的解決方法

 更新時(shí)間:2017年01月12日 09:32:04   作者:Codefly  
最近在工作中遇到了一個(gè)mysql錯(cuò)誤提示1093:You can’t specify target table for update in FROM clause,后來(lái)通過(guò)查找相關(guān)的資料解決了這個(gè)問(wèn)題,現(xiàn)在將解決的方法分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。

發(fā)現(xiàn)問(wèn)題

最近在處理一些數(shù)據(jù)庫(kù)中數(shù)據(jù)的時(shí)候,寫了下面的這一條sql語(yǔ)句:

UPDATE f_student
SET school_id = 0
WHERE
 id > (
 SELECT
 id
 FROM
 f_student
 WHERE
 school_id = M
 LIMIT 1
 )
AND id < (
 (
 SELECT
 id
 FROM
 f_student
 WHERE
 school_id = M
 LIMIT 1
 ) + N
)

上面的sql是想將某個(gè)區(qū)間的數(shù)據(jù)進(jìn)行修改,但是放到測(cè)試環(huán)境下一跑,報(bào)下面的錯(cuò)誤:

[Err] 1093 – You can't specify target table ‘f_student' for update in FROM clause

意思很顯而易見(jiàn)了,說(shuō)不能對(duì)進(jìn)行查詢操作的表進(jìn)行update操作,也就說(shuō)我們的where條件中進(jìn)行了子查詢,并且子查詢也是針對(duì)需要進(jìn)行update操作的表的,mysql不支持這種查詢修改的方式。

解決方法

上網(wǎng)查了一下,針對(duì)這種問(wèn)題可以通過(guò)”繞”的方式進(jìn)行實(shí)現(xiàn),下面看sql語(yǔ)句。

UPDATE f_student SET school_id = 0 WHERE
                     id > 
                     (
                     SELECT id FROM ( 
                         SELECT id FROM f_student WHERE school_id = M LIMIT 1 
                       ) AS temp 
                     )
                     AND id <
                    (
                     (
                      SELECT id FROM ( 
                              SELECT id FROM f_student WHERE school_id = M LIMIT 1 
                             ) AS temp_1 
                     ) + N
                    )

ok,完全沒(méi)有問(wèn)題。上面的sql相比于之前的sql只是在取id的時(shí)候繞了一下,通過(guò)一個(gè)子查詢的方式獲取到id,而不是直接進(jìn)行獲取。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • Navicat中如何導(dǎo)入數(shù)據(jù)庫(kù)SQL腳本并執(zhí)行

    Navicat中如何導(dǎo)入數(shù)據(jù)庫(kù)SQL腳本并執(zhí)行

    這篇文章主要給大家介紹了關(guān)于Navicat中如何導(dǎo)入數(shù)據(jù)庫(kù)SQL腳本并執(zhí)行的相關(guān)資料,Navicat是一個(gè)強(qiáng)大的MySQL數(shù)據(jù)庫(kù)管理和開(kāi)發(fā)工具,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • MySQL低權(quán)限提權(quán)的方法

    MySQL低權(quán)限提權(quán)的方法

    在MySQL中,低權(quán)限提權(quán)是一種常見(jiàn)的需求,低權(quán)限用戶通過(guò)利用漏洞、存儲(chǔ)過(guò)程、用戶定義函數(shù)(UDF)和觸發(fā)器(Trigger)等技術(shù)手段進(jìn)行權(quán)限提升,本文就來(lái)介紹一下,感興趣的可以了解一下
    2024-09-09
  • Mysql8斷電崩潰解決

    Mysql8斷電崩潰解決

    本文主要介紹了Mysql8斷電崩潰解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 在MySQL中操作克隆表的教程

    在MySQL中操作克隆表的教程

    這篇文章主要介紹了在MySQL中操作克隆表的教程,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • MySQL根據(jù)條件遷移數(shù)據(jù)的幾種方法實(shí)現(xiàn)

    MySQL根據(jù)條件遷移數(shù)據(jù)的幾種方法實(shí)現(xiàn)

    本文主要介紹了MySQL根據(jù)條件遷移數(shù)據(jù)的實(shí)現(xiàn),包括使用INSERT INTO SELECT、UPDATE、DELETE語(yǔ)句以及結(jié)合子查詢進(jìn)行遷移,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Linux中 MySQL 授權(quán)遠(yuǎn)程連接的方法步驟

    Linux中 MySQL 授權(quán)遠(yuǎn)程連接的方法步驟

    如果需要遠(yuǎn)程連接 Linux 系統(tǒng)上的 MySQL 時(shí),必須為其 IP 和 具體用戶 進(jìn)行 授權(quán),本篇文章主要介紹了Linux中 MySQL 授權(quán)遠(yuǎn)程連接的方法步驟,感興趣的小伙伴們可以參考一下
    2018-10-10
  • MySQL中的存儲(chǔ)過(guò)程異常處理

    MySQL中的存儲(chǔ)過(guò)程異常處理

    這篇文章主要介紹了MySQL中的存儲(chǔ)過(guò)程異常處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • MySQL數(shù)據(jù)庫(kù)查詢性能優(yōu)化策略

    MySQL數(shù)據(jù)庫(kù)查詢性能優(yōu)化策略

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)查詢性能優(yōu)化的策略,幫助大家的工作學(xué)習(xí)提高M(jìn)ySQL數(shù)據(jù)庫(kù)的性能,感興趣的朋友可以了解下
    2020-08-08
  • MySQL安裝配置以及安裝失敗解決過(guò)程

    MySQL安裝配置以及安裝失敗解決過(guò)程

    我們?cè)谙螺d完MYSQL時(shí),安裝可能會(huì)遇到或大或小的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于MySQL安裝配置以及安裝失敗解決的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 在MySQL中開(kāi)啟日志記錄并排查操作詳細(xì)步驟記錄

    在MySQL中開(kāi)啟日志記錄并排查操作詳細(xì)步驟記錄

    MySQL日志管理是數(shù)據(jù)庫(kù)系統(tǒng)維護(hù)和優(yōu)化的重要環(huán)節(jié),它提供了對(duì)服務(wù)器運(yùn)行狀態(tài)的詳細(xì)記錄,這篇文章主要給大家介紹了關(guān)于如何在MySQL中開(kāi)啟日志記錄并排查操作的相關(guān)資料,需要的朋友可以參考下
    2024-08-08

最新評(píng)論