0

  • wall_id (P)
  • wall_name
  • wall_views
  • wall_downloads
  • wall_thumbnail_path

( 4, 'wall4', '125', '574', '../.../thumbnail_wall4.jpg')

種類

  • type_id
  • タイプ名

( '1', 'Desktop') ( '2', 'Phone') ( '3', 'Tablet')

wall_types

  • wall_id (P) (F)
  • type_id (P) (F)

( 4, 1)

上記は私が持っているテーブルです。私がやりたいことは、テーブルからテーブルと同じように、テーブルから自動的に取得してテーブルwall_id = 4walls保存することです。これはどのように行うことができますか?これを達成するためのコード (PHP コード) または SQL ステートメントは何ですか? ありがとう!wall_typestype_idtypes

ノート:

  • wall_id表のwall_types参照wall_idwalls

  • type_id表のtypes参照type_idtypes

4

2 に答える 2

1

以下のクエリは、wall_types テーブルに新しいリレーションを挿入します。「1」はユーザー入力 (ユーザーが「デスクトップ」を選択) から取得されます。

INSERT INTO wall_types (wall_id, type_id) VALUES (5,1);

IDが(もちろん)まだ不明な新しい「壁」行を挿入した直後にこれを行う場合は、LAST_INSERT_ID()を使用できます。これには最後に挿入されたIDが含まれるため、このクエリを正しく実行する必要があります「壁」挿入クエリの後:

INSERT INTO wall_types (wall_id, type_id) VALUES (LAST_INSERT_ID(),1);
于 2013-10-29T13:59:03.970 に答える
0

これを「自動的に」行いたい場合は、トリガーを使用して関係を更新できます。もう 1 つの方法は、wall_types の関係を削除し、更新された値で再作成することです。

于 2013-10-29T13:57:10.910 に答える