2

こんにちは、つまり、2つのテーブルがあります

sms(Message,sms_index...columns) 
c_paid_bribe(c_addi_info,....)

私がしたいことは、sms テーブルに新しい値が挿入されるたびに、sms テーブルの Message 列の値を c_paid_bribe テーブルの c_addi_info 列に自動的に挿入することです。私はこれを試しました

$query=mysql_query("insert into bd_paid_bribe(c_addi_info) select Message from sms");

しかし、新しい値が挿入され、.php ファイルを実行すると、既存の値もテーブルに再度挿入されます.....

4

2 に答える 2

1
Q: what i want to do is to insert the values of Message column of sms table into c_addi_info column of c_paid_bribe table automatically whenever a new value is inserted into sms table. 

A: 別のテーブルが変更されたときに 1 つのテーブルを更新したい場合 (何らかの理由で、アプリケーションでこれを単純に行うことはできません)、「トリガー」を使用します。

http://net.tutsplus.com/tutorials/databases/introduction-to-mysql-triggers/

Q: But when a new value is inserted and i run the .php file the already existed values are also inserting into the table again.....

A: 「アップサート」が必要です。例えば:

MySQL で存在する場合は更新し、存在しない場合は挿入 (別名「アップサート」または「マージ」) するにはどうすればよいですか?

于 2012-04-14T05:47:24.403 に答える
0

やりたいことは、1 つのトランザクションでコミットされる 2 つのクエリを作成することだけです。これがトランザクションの目的です。その方法の例については、こちらを参照してください: PHP + MySQL トランザクションの例

于 2012-04-14T05:54:18.977 に答える