六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

MySQL完成一起查詢更新同一張表的案例區分

[摘要]這篇文章主要介紹了MySQL數據庫同時查詢更新同一張表的方法,需要的朋友可以參考下在平常的項目中,經常會碰到這樣的問題:我需要在一張標中同時更新和查詢出來的數據。例如:有如下圖一張表數據,現在需要更...
這篇文章主要介紹了MySQL數據庫同時查詢更新同一張表的方法,需要的朋友可以參考下

在平常的項目中,經常會碰到這樣的問題:我需要在一張標中同時更新和查詢出來的數據。例如:有如下圖一張表數據,現在需要更新操作為:把status=1的name值更新為id=2的name值

這里寫圖片描述

通常情況下我們會想到如下語句來實現這個需求:

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

結果卻報錯,報錯信息為:You can't specify target table 'tb_test' for update in FROM clause,不能在同一語句中update,select同一張表。不能在同一張表操作,換個思路,如果不是同一張表的話應該就是可以的。于是,可以把select出來的結果當成一個臨時的中間表,從中間表中獲取想要的更新相關的數據。于是,上面的更新語句可以更改成下面這樣子:

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

這樣就可以完成題目中的操作。經歷的大致過程為:查詢出id=2的數據作為中間表t;set的數據從t表中查詢出來;做更新操作這樣就不是在同一語句中update,select同一張表了,因為這相當與在操作兩張表,tb_test和中間表t。最后的結果如下圖:

這里寫圖片描述

以上就是MySQL實現同時查詢更新同一張表的實例分析的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 日韩欧美无线在码 | 一级黄色免费片 | 视频国产在线 | 日韩亚洲一区中文字幕在线 | 综合久青草视频 | 搜索一级黄色片 | 天天躁夜夜躁狠狠躁2021 | 天天看天天干天天操 | 天天狠天天干 | 宇都宫紫苑(rion)在线播放 | 日本高清在线播放一区二区三区 | 深爱激情五月网 | 一本久道久久综合多人 | 色狠狠狠狠综合影视 | 五月婷婷六月天 | 特黄特黄aaaa级毛片免费看 | 亚色在线观看 | 日韩精品免费看 | 夜夜夜夜夜夜夜工噜噜噜 | 欧美综合在线观看 | 午夜爱 | 日本黄色免费网址 | 亚洲人成高清 | 四虎影院免费在线 | 亚洲成人看片 | 亚洲国产欧美在线人成app | 日本一道高清不卡免费 | 亚洲国产日韩在线观频 | 在线看日韩 | 中文字幕在线视频不卡 | 午夜精品视频5000 | 色女人综合网 | 天天干天天插天天 | 婷婷激情五月网 | 婷婷丁香九月 | 欧美一区二区三区四区五区六区 | 青草影院在线 | 色网站免费 | 日韩毛片免费视频一级特黄 | 日本一区二区三区四区五区 | 三级黄色免费观看 |