久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價?。?!
當前位置:主頁 > 網站建設 > MySQL SELECT同時UPDATE同一張表問題發生及解決建站

MySQL SELECT同時UPDATE同一張表問題發生及解決建站

時間:2023-05-24 16:05:24 閱讀: 文章分類: 網站建設 作者: 網絡小編

導讀:1建站知識MySQL不允許SELECT FROM后面指向用作UPDATE的表,有時候讓人糾結。當然,有比創建無休止的臨時表更好的辦法。本文解釋如何UPDATE一張表,同時網站推廣優化seo網站建設哪家好。

網站推廣優化seo網站建設哪家好MySQL不允許SELECT FROM后面指向用作UPDATE的表,有時候讓人糾結。當然,有比創建無休止的臨時表更好的辦法。本文解釋如何UPDATE一張表,同時在查詢子句中使用SELECT.   問題描述  假設我要UPDATE的表跟查詢子句是同一張表,這樣做有許多種原因,例如用統計數據更新表的字段(此時需要用group子句返回統計值),從某一條記錄的字段update另一條記錄,而不必使用非標準的語句,等等。舉個例子:  復制代碼 代碼如下:     create table apples(variety char(10) primary key, price int);  insert into apples values('fuji', 5), ('gala', 6);  update apples  set price = (select price from apples where variety = 'gala'網站建設)  where variety = 'fuji';      錯誤提示是:ERROR 1093 (HY000): You can't specify target table 'apples' for update in FROM clause. MySQL手冊UPDATE documentation這下面有說明 : “Currently, you cannot update a table and select from the same table in a subquery.”  在這個例子中,要解決問題也十分簡單,但有時候不得不通過查詢子句來公司網站建設update目標。好在我們有辦法。    解決辦法  既然MySQL是通過臨時表來實現FROM子句里面的嵌套查詢,那么把嵌套查詢裝進另外一個嵌套查詢里,可使FROM子句查詢和保存都是在臨時表里進行,然后間接地在外圍查詢被引用。下面的語句是正確的:  復制代碼 代碼如下:     update apples  set price = (  select price from (  select * from apples  ) as x  where variety = 'gala')  where variety = 'fuji';      如果你想了解更多其中的機制,請閱讀MySQL Internals Manual相關章節。   沒有解決的問題  一個常見的問題是,IN()子句優化廢品,被重寫成相關的嵌套查詢,有時(往往?)造成性能低下。把嵌套查詢裝進另外一個嵌套查詢里并不能阻止它重寫成相關嵌套,除非我下狠招。這種情況下,最好用JOIN重構查詢(rewrite such a q高端網站建設uery as a join)。   另一個沒解決的問題是臨時表被引用多次。“裝進嵌套查詢”的技巧無法解決這些問題,因為它們在編譯時被創建,而上面討論的update問題是在運行時。相關網站推廣優化seo網站建設哪家好。

關鍵詞標簽: 標簽 SQL 發生

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-24 ,文章MySQL SELECT同時UPDATE同一張表問題發生及解決建站主要講述發生,標簽,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_7076.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 大新县| 铁岭县| 会泽县| 上蔡县| 大同县| 虎林市| 勃利县| 泰宁县| 富裕县| 六枝特区| 宽城| 雷山县| 马龙县| 东乌珠穆沁旗| 阳高县| 城口县| 白城市| 墨脱县| 河津市| 原阳县| 千阳县| 寿阳县| 龙江县| 南昌县| 永福县| 灵山县| 深州市| 苏尼特右旗| 奉新县| 栖霞市| 湘潭市| 新田县| 莱西市| 宁化县| 邢台市| 英吉沙县| 壤塘县| 绥棱县| 洛浦县| 崇州市| 灯塔市|