以下はMySQLテーブルです。テーブルAのID列からテーブルBのID_A列に値を挿入する必要があります。すでに存在していたID_Aの値は無視する必要があります。以下の例では、表AのID 1〜3を無視し、ID 4〜10を表Bに挿入する必要があります。ID_Xの値は定数3です。クエリを別のテーブルに依存する
単一の挿入SQLクエリは何ですか?
以下はMySQLテーブルです。テーブルAのID列からテーブルBのID_A列に値を挿入する必要があります。すでに存在していたID_Aの値は無視する必要があります。以下の例では、表AのID 1〜3を無視し、ID 4〜10を表Bに挿入する必要があります。ID_Xの値は定数3です。クエリを別のテーブルに依存する
単一の挿入SQLクエリは何ですか?
一つの簡単なオプションは、B
でA
に参加し、すでにB
には表示されませんA
からのレコードだけを挿入左にあります。
INSERT INTO B (ID_A, ID_X)
SELECT A.ID, 3
FROM A LEFT JOIN B
ON A.ID = B.ID_A
WHERE B.ID_A IS NULL
あなたは列ID_A
にunique index
を作成し、クエリを実行できます。
INSERT IGNORE INTO table_b
SELECT ID,
3
FROM table_a;
これが欠落している行を追加する必要があります。
INSERT INTO TABLEB
(ID_A,ID_X)
SELECT
ID,
3
FROM TABLEA
WHERE ID NOT IN (SELECT ID_A FROM TABLEB)
これを試してみてください;)
insert into tableb (id_a, id_x)
select a.id as id_a, 3 as id_x from tablea a join tableb b on b.id_a <> a.id
このコードは_why_に関する 追加のコンテキストを提供し、質問に答える、および/またはそれが 質問が大幅に長期的 値を改善する回答_how_かもしれないが。あなたの答えを[編集]して、説明を加えてください。 –