[前][次][番号順一覧][スレッド一覧]

mysql:5987

From: takewo.k <takewo.k <office@xxxxxxxxxx>>
Date: Sun, 25 Aug 2002 01:06:17 +0900
Subject: [mysql 05987] table_b のフィールド a の値が、 table_a のフィールド a にないレコードに関してだけ insert したい。

こんばんわ。たけです。

下記のようなスキーマのテーブルが2つあるとして、

CREATE TABLE table_a (
  a char(200),
  b char(200),
  PRIMARY KEY  (a)
);

CREATE TABLE table_b (
  a char(200),
  b char(200),
  c char(200),
  PRIMARY KEY  (a)
);

table_b のaの値が、table_a のaにないレコードに関してだけ、
table_b のa,c の値をtable_a のa,bにinsertしたいのですが、
うまい方法はないでしょうか?

気持ちとしては、
INSERT INTO table_a(a,b) select a,c from table_b;
としたいのですが、これだとすでにtable_aにあると
Duplicate entry エラーになってしまいます。

table_bのテーブルを一行づつチェックしてtable_aにないか確認して1行づつ
insertしていくしかないんでしょうか?

アドバイス頂けると幸いです。
宜しくお願いします。

[前][次][番号順一覧][スレッド一覧]

->    5987 2002-08-25 01:06 [takewo.k <office@xxx] table_b のフィールド a の値が、 table_a  のフィールド a にないレコードに関してだけ insert したい。
      5988 2002-08-25 01:53 ┣[KAWAJI Shinya <kawaj]                                       
      5990 2002-08-25 04:45 ┗[東海林 裕 <shojihiro]                                       
      5991 2002-08-25 15:21  ┗[<office@xxxxxxxxxx> ]