婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL數據庫同時查詢更新同一張表的方法

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

熱門標簽:電話機器人免費嗎 400電話申請什么好 百度地圖標注地方備注 怎么申請400電話申請 龍圖酒吧地圖標注 怎么辦理400電話呢 地圖標注圖標素材入駐 好搜地圖標注 電銷機器人價格多少錢一臺

在平常的項目中,經常會碰到這樣的問題:我需要在一張標中同時更新和查詢出來的數據。例如:有如下圖一張表數據,現在需要更新操作為:把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 update多表聯合更新的方法小結
  • mysql實現查詢數據并根據條件更新到另一張表的方法示例
  • 如何使用MySQL一個表中的字段更新另一個表中字段
  • Mysql 根據一個表數據更新另一個表的某些字段(sql語句)
  • mysql用一個表更新另一個表的方法
  • 僅用一句SQL更新整張表的漲跌幅、漲跌率的解決方案

標簽:廣西 溫州 固原 內江 防疫工作 汕尾 撫順 浙江

巨人網絡通訊聲明:本文標題《MySQL數據庫同時查詢更新同一張表的方法》,本文關鍵詞  MySQL,數據庫,同時,查詢,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數據庫同時查詢更新同一張表的方法》相關的同類信息!
  • 本頁收集關于MySQL數據庫同時查詢更新同一張表的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大同县| 唐河县| 安庆市| 绍兴市| 平江县| 合山市| 玉溪市| 青河县| 永仁县| 深圳市| 黄骅市| 宁南县| 襄汾县| 桦南县| 宝兴县| 富裕县| 灵宝市| 黄石市| 罗城| 台东县| 靖远县| 河曲县| 富源县| 浠水县| 南江县| 泗洪县| 山阴县| 来宾市| 梨树县| 米泉市| 张家港市| 东宁县| 康定县| 阜平县| 平邑县| 洞口县| 双牌县| 阳春市| 大埔县| 北辰区| 嘉善县|