MySQL実装update select文

1750 ワード

何度も使ったsqlはドキュメントを探すたびに長い間sqlを探しています.UPDATE   ` user AS   INNER   JOIN   ( SELECT   id  FROM   ` user WHERE   `sid`=2)  AS   ON   A.id=B.id  SET   A.gid='123' sql : , 。
自分の使用シーン:テーブル内のpid条件参照テーブルのcode関連付けを補完するUPDATE `common_district` AS A
INNER JOIN (SELECT id,`code` FROM common_district 
WHERE id>600000 AND id<=900000 ) AS B
ON A.pcode=B.code SET A.pid=B.id 
WHERE A.id>600000 AND A.id<=900000; 70w 。 :↓
MySQLの文は同時にクエリーと修正を実現します
/**********************************************/
その他の知識点の記録:
A表のデータを削除する時where条件はA表を検索する必要があり、この時に検索条件を包装する必要があるA表は別のビューで削除文を実行することができる.
DELETE FROM `common_district`  WHERE `id` NOT IN (     SELECT     t.`id`      FROM (     SELECT `id` FROM `common_district` WHERE 1=1      AND city_code = "6103"    OR `code` = '61'     OR `code` = '6103'     ) t )
テーブル構造のコピーとテーブル構造とテーブルデータのコピー
レプリケーションテーブル構造CREATE TABLE common_district1 LIKE common_district;
レプリケーションテーブル構造とテーブルデータCREATE TABLE common_district2 SELECT * FROM `common_district` WHERE 1=1      AND city_code = "6103"    OR `code` = '61'     OR `code` = '6103'
データの挿入時に他のテーブルのデータを照会する
INSERT INTO table2(column_name(s)) SELECT column_name(s) FROM table1;