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 閱讀(3553) 評論(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 | 討厭呀呀呀呀呀呀英語
          主站蜘蛛池模板: 志丹县| 灌阳县| 常德市| 永昌县| 德格县| 绥棱县| 陆良县| 城口县| 政和县| 虹口区| 云浮市| 清河县| 砀山县| 五家渠市| 疏勒县| 建始县| 庆城县| 海伦市| 通海县| 孟村| 太仆寺旗| 梁山县| 大姚县| 桐梓县| 五指山市| 渭源县| 华坪县| 武冈市| 潼南县| 聂拉木县| 洛川县| 浦县| 鸡东县| 无极县| 清新县| 马鞍山市| 察哈| 鱼台县| 林口县| 施秉县| 慈利县|