麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫同時查詢更新同一張表的方法

2024-07-24 13:14:29
字體:
來源:轉載
供稿:網友

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

MySQL,查詢,更新,同一張表

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

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,查詢,更新,同一張表


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人精品一区 | 亚洲成人高清在线观看 | 国产精品成人久久 | 92看片淫黄大片一级 | 成人毛片免费视频 | 视频一区国产精品 | 红杏网站永久免费视频入口 | 成人羞羞视频在线观看 | 欧美a视频在线观看 | 一本色道久久综合狠狠躁篇适合什么人看 | 羞羞网站 | 日本中文字幕久久 | 爱逼爱操综合网 | 国产一区二区三区四区五区精品 | 久久精品国产99国产精品澳门 | 国产一级aa大片毛片 | 成年人黄色免费电影 | 热久久91 | 成人在线视频一区 | a黄在线观看 | 一级片999| 欧美 国产 综合 | 久久国产乱子伦精品 | 免费国产一级淫片 | 黑人一区二区三区四区五区 | 国产午夜精品一区 | 欧美日韩在线免费观看 | 久久精品国产99国产精品亚洲 | 蜜桃网在线观看 | 特级黄色小说 | 99精品在线免费 | 亚洲精品有限 | 精品国产91久久久久久久妲己 | 一级网站 | 天天色综合2 | 国产亚洲精品久久久久婷婷瑜伽 | 精品国产一区二区久久 | 欧美日韩精品一区二区三区不卡 | 91精品国产乱码久久桃 | 亚洲啊v在线观看 | 国产精品99久久久久久久 |