3

私はこのようなクエリを実行したい:

INSERT INTO `gesdoc_docs_authorizations`
    (`gesdoc_docs_id`, `id_profil_do`, `autorisation`, `personal_doc`)
VALUES (
    (SELECT `id`
    FROM `gesdoc_docs`),
    (SELECT `id`
    FROM `users_profil_do`),
    1, 0
   );

テーブルgesdoc_docsには 40 行とusers_profil_do700 行があります。users_profil_do関連する 40 行の各行が必要ですandco_gesdoc_docs(したがって、通常、クエリは 28,000 行を挿入します)。出来ますか ?どうすればmysqlクエリでそれを行うことができますか?

手伝ってくれてありがとう :)

4

1 に答える 1

4

VALUESから挿入するときはキーワードを使用しませんSELECT

INSERT INTO gesdoc_docs_authorizations
    (`gesdoc_docs_id`, `id_profil_do`, `autorisation`, `personal_doc`)
SELECT g.id, d.id, 1, 0
FROM gesdoc_docs g
JOIN users_profil_do d

句を使用して結合条件を指定しない場合、ONすべての行が一致するものとして扱われ、2 つのテーブルの完全なデカルト積が得られます。

于 2013-08-01T09:53:18.813 に答える