leisure

          JAVA - exceed,helloworld
          隨筆 - 50, 文章 - 0, 評論 - 11, 引用 - 0
          數據加載中……

          MYSQL Error Code: 1093 You can't specify target table 'x' for update in FROM clause

          當子查詢作為條件,執行delete跟update操作時,會出現:
          Error Code: 1093 You can't specify target table 'x' for update in FROM clause

          作一個簡單的示例:
          CREATE TABLE tbl_a(
          id 
          INT,
          NAME 
          VARCHAR(50)
          );

          INSERT INTO tbl_a VALUES(1'leisure');
          INSERT INTO tbl_a VALUES(2'leisure2');

          SELECT * FROM tbl_a;

          執行更新操作
          UPDATE tbl_a 
              
          SET id = (
                  
          SELECT id FROM tbl_a 
                  
          WHERE NAME = 'leisure2'
              ) 
          WHERE NAME = 'leisure';

          這時,如愿見到我們標題上的錯誤,解決方法如下(橙色字體系關鍵):
          UPDATE tbl_a 
              
          SET id = (
                  
          SELECT id FROM (
                      
          SELECT * FROM tbl_a WHERE NAME = 'leisure2'
                  ) xx
              )
          WHERE NAME = 'leisure';

          posted on 2011-11-22 09:58 leisure 閱讀(3554) 評論(1)  編輯  收藏 所屬分類: database

          評論

          # re: MYSQL Erro討厭呀呀呀呀呀呀呀呀呀與r Code: 1093 You can't specify target table 'x' for update in FROM clause  回復  更多評論   

          突然弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱弱與
          2014-01-26 10:41 | 討厭呀呀呀呀呀呀英語
          主站蜘蛛池模板: 嘉禾县| 开平市| 呼玛县| 育儿| 水富县| 中卫市| 兴安县| 景泰县| 华宁县| 若羌县| 无为县| 南部县| 合作市| 张家口市| 辉南县| 宜黄县| 瑞安市| 新沂市| 徐州市| 康平县| 高淳县| 苗栗市| 互助| 莫力| 濮阳县| 七台河市| 阿拉尔市| 雷波县| 当涂县| 德昌县| 定襄县| 定日县| 望城县| 玉溪市| 星子县| 宾川县| 南郑县| 开远市| 楚雄市| 永胜县| 昭通市|