私は2列を持つテーブルがあります。私はすべてのエントリは、1つのドメインIDのエントリ、およびドメインのサイトの1を持ちたいSQL - 「Bの場合はBを挿入する」というように「foreach A in table」を実行するクエリはありますか?
nid realm
1 domain_id
1 domain_site
2 domain_id
3 domain_id
を。だから私はで終わるしたい:私はPHPでこれをやっていた場合
nid realm
1 domain_id
1 domain_site
2 domain_id
2 domain_site
3 domain_id
3 domain_site
、私はちょうどリスト全体のforeach、それが存在していなかった時はいつでも余分な行を挿入したいです。残念ながら、私はこのDBにPHPmyAdminアクセスしかありません。 SQLでこれを行う方法はありますか?
(現在のテーブルは約3000行ありますが、2000年には余分な行が挿入されている必要があります)また、これは一度の作業であり、最適化/ユーバースリック)
ooh、光沢のあるIGNOREキーワード –
これは光沢があります!私はこのコードを理解していないと私が言うことはわかりませんが、私はそれをとにかく使いました!そしてそれは働いた! (私は最初にバックアップしました:) – Eileen
嬉しいです。 :)これは、ほとんどの状況下では非常に悪いことであり、条件なしで参加することです。私は学問用語が何であるか分かりませんが、2つのテーブルのすべての可能な組み合わせが結果として生じるので、それを "爆発的な結合"と考えます。ここでは、一意の制約を持つテーブルに挿入するため、すべてうまく動作します。したがって、気になる固有の組み合わせを取得するだけです。また、IGNOREは、重複した組み合わせを除外します。 – chaos