重複したくないレコードを挿入しようとすると問題が発生します。INSERT INTO WHERE NOT INまたはNOT EXISTテーブルのオリジンに重複があります
私はTABLE1とTABLE2を持っていると私はTABLE2にTABLE1からレコードを挿入したいので、私はこのクエリを使用します。:この問題は、それが行く私がここにグーグルで見つかったソリューションとは異なり
INSERT INTO table1
SELECT *
FROM table2
WHERE table2.importId NOT IN
(
SELECT importId
FROM table1
);
これは動作しますTABLE2が保証されている場合にのみ重複したimportIdが含まれていません。 TABLE2に重複したimportIdがあり、TABLE2からのimportIdを含んでいないTABLE1に挿入したい場合。上記のスクリプトは、レコードの挿入時に存続するため、TABLE1に重複したimportIdが作成されます。
は、私はすでに試した:
INSERT INTO table1
SELECT *
FROM table2
WHERE NOT EXIST
(
SELECT importId
FROM table1
WHERE table1.importId <> table2.importId
);
同じ結果が発生しました!今私は重複を削除する別のクエリを記述する必要があります。それでは、この問題を回避する方法はありますか?
私はphpmyadmin BTWでMYSQLを使用しています。
ああ大変ありがとう – Photonic