2013-05-28 28 views
0

我有两个表,一个是users表,另一个是connectedto表。用户表loks像这样:如何编程MySQL触发器将行插入到另一个表

USERS_TABLE: 

ID | username 
1 | usera 
2 | userb 

的connectedto表看起来像这样:

CONNECTED_TABLE: 

con_id | con_from | con_to 
1  | 1  | 2 
2  | 2  |1 

我想将触发对USERS表,使得在users表中添加用户时, connectedto表更改,以便新用户连接到每个其他以前的用户,并且每个其他以前的用户连接到新用户。请帮助。

+0

如果每个用户都连接到每个其他用户,为什么将它存储在数据库中,因为在所有情况下都是如此? – user1032531

+0

我只是放了一部分数据库,这对我的解决方案来说很重要。还有其他的业务逻辑需要db像上面提到的那样工作。 – gmimano

回答

0

老实说,我没有意识到这一点。

您可以轻松地在这个例子中创建您的飞行connected_table这样的:

create table foo(id int); 
insert into foo values (1), (2); 

select f1.id, f2.id from foo f1, foo f2 
where f1.id != f2.id; 

结果:

1 2 
2 1 
0

试试这个简单的触发例如:

例如:

两张桌子,如table1,table2:

触发

CREATE TRIGGER TRI_table1 
AFTER INSERT ON table1 FOR EACH ROW 
INSERT INTO table2 (contact_id, count) VALUES 
(new.contact_id,0) 

我希望它使用全给你。

相关问题