0

私は mySQL の初心者です。通常は、INSERT、SELECT ステートメント以外は使用しません...

this questionまたはthis oneのようないくつかのSO投稿を見た後。よくわかりません。

私の(単純化された)シナリオ:

私は2つのテーブルを持っています。

Table1 is named "titles" and has 3 columns: id, pagetitle, pages_id
Table2 is named "pages" and has 2 columns: id, content

フォームで、2 つのフォーム フィールドを送信しています。title, content

今、各テーブルに各値を挿入したいのですが、もちろんそれtitles.pages_idが と同じ値であることを確認したいのですpages.idtitles.idとはどちらpages.idも自動インクリメントです。

これは PHP に関する質問ではありません

mysqli_insert_id()PHPを使用して2つの別々のSQLステートメントを作成し、2番目のクエリの最初のクエリから使用することで、これを行う方法を知っています。

しかし、マルチインサートクエリを実行するSQLのみの方法があると思います...またはありますか?

ありがとう。

4

2 に答える 2

0

自動インクリメントによって、特定の ID の挿入が妨げられることはありません。最初に1つのテーブルに挿入し、2番目のテーブルに挿入するときにそのIDを使用してください。

于 2013-02-07T02:59:52.027 に答える
0

もう少し実験した後、私はこの声明を思いつきました

INSERT INTO pages (`content`) VALUES('hello world'); 
INSERT INTO titles (`pagetitle`, `pages_id`) VALUES ('hw page', LAST_INSERT_ID());

この方法で問題はないようです。それはうまくいくようです。

于 2013-02-07T20:56:58.087 に答える