mysql更新,插入,删除加入

时间:2011-05-13 22:13:42

标签: mysql database join

我知道你可以在SELECT上加入语句,

但您是否也可以使用UPDATE,INSERT和DELETE语句进行连接,以便多个表中的行都被删除/更新/插入,如果它们相互链接并且它们满足WHERE语句...

这也适用于LEFT JOIN,RIGHT JOINS,JOINS和INNER JOIN吗?

2 个答案:

答案 0 :(得分:0)

您可以在更新/插入/删除时进行连接,但不能更新这些连接表中的记录。您需要单独更新每个表。

答案 1 :(得分:0)

可以使用触发器执行此操作

DELIMITER $$

CREATE TRIGGER au_table1_each AFTER UPDATE ON table1 FOR EACH ROW
BEGIN
  UPDATE table2 SET fieldY = new.fieldX WHERE ...;
END $$

DELIMITER ;

触发器将使用table1中的一些新数据触发每次更新和更新table2 触发器BEFOREAFTER是一个操作,可以是UPDATEINSERTDELETE

请参阅:http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html
并且:http://www.databasedesign-resource.com/mysql-triggers.html