中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在MySql中如何select from一個將要更新的關系目標

發布時間:2021-10-13 10:57:10 來源:億速云 閱讀:128 作者:柒染 欄目:數據庫

MySql中如何select from一個將要更新的關系目標,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

在MySql中如何select from一個將要更新的關系目標:

+-------------------------+--------------------+------------+

|account_number | branch_name | balance |

+------------------------+---------------------+------------+

|A-101                 | Downtown     | 500.00  |

|A-102                 | Perryridge     | 400.00  |

|A-201                 | Brighton        | 900.00  |

|A-215                 | Mianus          | 700.00   |

|A-217                 | Brighton        | 750.00   |

|A-222                 | Redwood        | 700.00  |

|A-305                 | Round Hill     | 350.00   |

+------------------------+----------------------+------------+

updateaccount

setbalance = balance * 1.05

wherebalance > (select avg(balance)

fromaccount);

然后就報錯了!有沒有!如下:

Youcan't specify target table 'account' for update in FROM clause。

錯誤就是你不能指向并選擇一個將要修改或是更新的目標關系。

http://dev..com/doc/refman/5.0/en/update.html寫到:

“Currently,you cannot update a table and select from the same table in asubquery.”

但是很多情況下,我想用一些數據要更新一個關系,而這些數據恰好是通過就指向這個關系的子查詢得到的,例如本例子我需要聚集函數算account的balance均值。

解決方法:

MySQL會將from從句中子查詢的衍生關系(derivedtable)實體化成一個臨時表(temporarytable),所以我們將(selectavg(balance) from account) 再套入一個from從句即可:

updateaccount

setbalance = balance * 1.05

wherebalance >( select avg(tmp.balance)

from (select * from account ) as tmp

)

關于在MySql中如何select from一個將要更新的關系目標問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴里| 孟村| 云龙县| 介休市| 琼海市| 玉屏| 凤庆县| 翁牛特旗| 阳谷县| 东方市| 江西省| 常熟市| 泗水县| 石林| 泸西县| 彩票| 东明县| 潮安县| 佳木斯市| 观塘区| 孝昌县| 三亚市| 曲阜市| 武山县| 木兰县| 含山县| 广州市| 江安县| 昭苏县| 博客| 尼勒克县| 朝阳区| 外汇| 出国| 措美县| 通城县| 永泰县| 正蓝旗| 托里县| 丰顺县| 阳曲县|