1

mySQLで1対1の関係にある2つのテーブルがあります。どちらも主キーと同じuser_idを持っているので、最初のテーブルに投稿を挿入するときに、同じuser_idの行を2番目のテーブルに自動的に挿入できるようにする必要があります。使用できるmysqlコマンドまたはPHPスクリプトはありますか?

4

2 に答える 2

2

データベースにを設定できTRIGGERます。これらのトリガーエンティティはデータベースの構造に格納されます。PHPでは、トリガーエンティティCREATE TRIGGERを作成するクエリのみを実行できます。

ただし、データベース構造のように聞こえるのとまったく同じデータを持つ2つのテーブルPRIMARY KEYは、少し適切にモデル化されていません。時間をかけてデータベースを再構築し、基本的に(可能であれば)2つのテーブルをマージする必要があります。

また、データベースに対してPHPを使用している場合はINSERT INTO、2つのクエリを順番に呼び出すことができます。

INSERT INTO table1(field1, field2...) VALUES (value1, value2...)
INSERT INTO table2(field1, field2...) VALUES (value1, value2...)

ただし、主キーが同期しなくなり、関係が失われる可能性があるため、2つのクエリを相互に依存させるには、正確な精度が必要です。

于 2012-08-07T11:18:31.813 に答える
1

私があなたの質問を正しく理解している場合は、最初のテーブルから挿入されたuser_idを取得し、それを使用して2番目のテーブルに新しい行を挿入できます。

$query = mysql_query("SELECT * FROM first_table ORDER BY user_id DESC LIMIT 1");
$row = mysql_fetch_assoc($query);

これで、$row['user_id']を2番目のテーブルに挿入できます。

もちろん、同時に多くの行が挿入される場合、これは危険です。

于 2012-08-07T11:23:47.773 に答える