如何使用mysql将值插入另一个表时更新一个表的值?

时间:2012-04-14 05:40:12

标签: mysql phpmyadmin

你好我有两张桌子

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文件时,已经存在的值也会再次插入到表中.....

2 个答案:

答案 0 :(得分: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. 

答:如果你想要在另一个表被更改时更新一个表(并且无论出于何种原因,你不能在你的应用程序中简单地执行此操作),那么使用“触发器”:

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.....

答:你想要一个“upsert”。例如:

How do I update if exists, insert if not (AKA "upsert" or "merge") in MySQL?

答案 1 :(得分:0)

您要做的只是在一个事务中进行两个查询。这就是交易的目的。有关如何执行此操作的示例,请参见此处: PHP + MySQL transactions examples