2016-03-28 133 views
0

假设我有含有变量的表1称为:V1,V2,V3,等是否有可能通过更改其他表让MySQL更新自己?

我有包含变量称为另一表2:Y1,Y2,Y3,等等

其中y = F(V_S )。 v_s意味着一些v1,v2,v3等

当我更新某个值时,假设我在表1中添加了一组新的v_s数据,mysql是否可以自动更新y_s?

此外我使用python来操纵我的数据库。只是FYI。

谢谢!

+2

是的,使用触发器http://dev.mysql.com/doc/en/trigger-syntax.html或事件调度程序http://dev.mysql.com/doc/refman/5.1/en/events。 html或cron作业。 –

+0

弗雷德是对的。另外 - FOREIGN KEY也是这样做的。请参阅http://dba.stackexchange.com/questions/84434/cascade-primary-key-update-to-all-referencing-foreign-keys和https://dev.mysql.com/doc/refman/5.6/en /create-table-foreign-keys.html –

+1

引用到mysql触发器 - http://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html – jeff

回答

1

这很容易使用triggers。在你的情况下,代码会看起来像

CREATE TRIGGER insert_table2 
    BEFORE INSERT ON table1 
    FOR EACH ROW 
    INSERT INTO table2 
     (y1, y2, y3) 
     VALUES 
     (f(NEW.v1), f(NEW.v2), f(NEW.v3)); 

NEW.v1参考指v1新插入的行中的值。

相关问题