0

1 つのフォームから複数の MySQL テーブルにデータを挿入しようとしています (MYSQL 構文を使用しますが、アプリケーション MYSQLi をいつか移行する予定です。これはおそらく今のところ関係ありませんが、" MYSQLi でこれを行う必要があります」というコメントが必然的に続きます-私はそうすべきだと知っています、そして私は...すぐに...しかし、私の手に負えない多くの理由で、私はまだできません、そして私たちはまだ必要ですこの作業)。

基本的に、「多対多」のテーブル構造 (つまり、多くのカテゴリの一部となるインスタンス、および多くのインスタンスを含むカテゴリ) に挿入しています。メイン テーブルInstancesには、すべての主要なデータがあります (この場合、マップ上の場所 - たとえば、「Acme Cafe」、「Lakeside Picnic Area」など)。別のテーブルCategoriesには、テーブル内のすべての場所のすべての可能なカテゴリが含まれていinstancesます。たとえば、「カフェ」、「パブ」、「視点」などです。結合テーブルは、テーブルInstance_Categories内の場所をInstancesテーブル内のカテゴリに接続しCategoriesます。

PHP フォームには次のフィールドがあります。

  • ReferenceInstance_Categories(テーブル内の多くのカテゴリでインスタンスを識別するために使用される、ランダムに生成された 9 桁の識別子)
  • Name(テキストボックス)
  • Address(テキストボックス)
  • Phone(テキストボックス)
  • Tick-box各カテゴリのフィールド (8 つ)。

Instancesテーブルには次の列があります

  • ID(テーブルに固有)
  • Reference(上記のフォーム入力を参照)
  • Name
  • Address
  • Phone

Categoriesテーブルには次の列があります

  • ID(テーブルに固有)
  • Category(varchar)
  • Category_RefInstances_Categories(接続テーブル内の参照を識別するための番号)

Instances_Categoriesテーブルには次の列があります。

  • ID(テーブルに固有)
  • Instance_Ref(上記のフォーム入力から)
  • Category_RefCategories上表関連)

INSERTデータベースにデータを挿入するためのステートメントを作成するにはどうすればよいですか? テーブルごとに挿入コマンドを作成し、同じ [送信] ボタンから次々に実行することはできますか? Instances_Categoriesまた、選択されたカテゴリのチェックボックスの数に応じて、挿入コマンドでより多くの行をテーブルに動的に挿入するにはどうすればよいでしょうか? 髪をかきむしる!

4

1 に答える 1

0

1 つのクエリで複数のテーブルに挿入したい場合はできません。

トランザクションを使用することもできますが、複数のクエリを実行して 1 日で呼び出すだけです。

于 2013-06-12T14:50:09.960 に答える