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

MySQL數(shù)據(jù)庫(kù)同時(shí)查詢(xún)更新同一張表的方法

 更新時(shí)間:2017年09月19日 15:52:08   投稿:mdxy-dxy  
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)同時(shí)查詢(xún)更新同一張表的方法,需要的朋友可以參考下

在平常的項(xiàng)目中,經(jīng)常會(huì)碰到這樣的問(wèn)題:我需要在一張標(biāo)中同時(shí)更新和查詢(xún)出來(lái)的數(shù)據(jù)。例如:有如下圖一張表數(shù)據(jù),現(xiàn)在需要更新操作為:把status=1的name值更新為id=2的name值

這里寫(xiě)圖片描述

通常情況下我們會(huì)想到如下語(yǔ)句來(lái)實(shí)現(xiàn)這個(gè)需求:

UPDATE tb_testSET NAME = ( SELECT NAME FROM tb_test WHERE id= 2)WHERE `status` = 1

結(jié)果卻報(bào)錯(cuò),報(bào)錯(cuò)信息為:You can't specify target table 'tb_test' for update in FROM clause,不能在同一語(yǔ)句中update,select同一張表。不能在同一張表操作,換個(gè)思路,如果不是同一張表的話(huà)應(yīng)該就是可以的。于是,可以把select出來(lái)的結(jié)果當(dāng)成一個(gè)臨時(shí)的中間表,從中間表中獲取想要的更新相關(guān)的數(shù)據(jù)。于是,上面的更新語(yǔ)句可以更改成下面這樣子:

UPDATE tb_testSET NAME = (select name from ( SELECT NAME FROM tb_test WHERE id = 2) as t)WHERE `status` = 1

這樣就可以完成題目中的操作。經(jīng)歷的大致過(guò)程為:查詢(xún)出id=2的數(shù)據(jù)作為中間表t;set的數(shù)據(jù)從t表中查詢(xún)出來(lái);做更新操作這樣就不是在同一語(yǔ)句中update,select同一張表了,因?yàn)檫@相當(dāng)與在操作兩張表,tb_test和中間表t。最后的結(jié)果如下圖:

這里寫(xiě)圖片描述

相關(guān)文章

  • MySQL數(shù)據(jù)庫(kù)如何克隆(帶腳本)

    MySQL數(shù)據(jù)庫(kù)如何克隆(帶腳本)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)如何克隆(帶腳本)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • SQL?ALTER?TABLE語(yǔ)句靈活修改表結(jié)構(gòu)和數(shù)據(jù)類(lèi)型

    SQL?ALTER?TABLE語(yǔ)句靈活修改表結(jié)構(gòu)和數(shù)據(jù)類(lèi)型

    這篇文章主要介紹了SQL?ALTER?TABLE語(yǔ)句靈活修改表結(jié)構(gòu)和數(shù)據(jù)類(lèi)型,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • MySQL新手入門(mén)進(jìn)階語(yǔ)句匯總

    MySQL新手入門(mén)進(jìn)階語(yǔ)句匯總

    這篇文章主要給大家介紹了關(guān)于MySQL新手入門(mén)進(jìn)階語(yǔ)句的相關(guān)資料,總結(jié)分析了MySQL數(shù)據(jù)庫(kù)常用的查詢(xún)、條件查詢(xún)、排序、連接查詢(xún)、子查詢(xún)等相關(guān)操作技巧,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • MySQL數(shù)據(jù)庫(kù)主從復(fù)制延時(shí)超長(zhǎng)的解決方法

    MySQL數(shù)據(jù)庫(kù)主從復(fù)制延時(shí)超長(zhǎng)的解決方法

    這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)主從復(fù)制延時(shí)超長(zhǎng)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Windows下MySQL?8.0.29?安裝和刪除圖文教程

    Windows下MySQL?8.0.29?安裝和刪除圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows下MySQL?8.0.29?安裝和刪除圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • mysql索引必須了解的幾個(gè)重要問(wèn)題

    mysql索引必須了解的幾個(gè)重要問(wèn)題

    這篇文章主要介紹了mysql索引必須了解的幾個(gè)重要問(wèn)題,分析了MySQL數(shù)據(jù)庫(kù)索引的相關(guān)概念與使用技巧,需要的朋友可以參考下
    2016-04-04
  • 關(guān)于MySQL 優(yōu)化的100個(gè)的建議

    關(guān)于MySQL 優(yōu)化的100個(gè)的建議

    MYSQL 如此方便和穩(wěn)定,以至于我們?cè)陂_(kāi)發(fā) WEB 程序的時(shí)候很少想到它。即使想到優(yōu)化也是程序級(jí)別的,比如,不要寫(xiě)過(guò)于消耗資源的 SQL 語(yǔ)句。但是除此之外,在整個(gè)系統(tǒng)上仍然有很多可以?xún)?yōu)化的地方。
    2016-01-01
  • MySQL優(yōu)化之分區(qū)表

    MySQL優(yōu)化之分區(qū)表

    這篇文章主要介紹了MySQL優(yōu)化之分區(qū)表,需要的朋友可以參考下
    2016-06-06
  • SQL HAVING子句在GROUP BY中的條件篩選靈活運(yùn)用

    SQL HAVING子句在GROUP BY中的條件篩選靈活運(yùn)用

    這篇文章主要為大家介紹了SQL HAVING子句在GROUP BY中的條件篩選靈活運(yùn)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • MySQL錯(cuò)誤代碼:1052?Column?'xxx'?in?field?list?is?ambiguous的原因和解決

    MySQL錯(cuò)誤代碼:1052?Column?'xxx'?in?field?list?is

    今天在工作中寫(xiě)sql語(yǔ)句時(shí)遇到了個(gè)sql錯(cuò)誤,為記錄并不再重復(fù)出錯(cuò),下面這篇文章主要給大家介紹了關(guān)于MySQL錯(cuò)誤代碼:1052?Column?'xxx'?in?field?list?is?ambiguous的原因和解決方法,需要的朋友可以參考下
    2023-04-04

最新評(píng)論