怎样让mysql 同时更新两个数据库中的表?在sqlserver2000中,可以使用触发器更新,但是mysql中似乎语法不一样,不知道有没有好的方法.
例如:有这样两个表 a.a1 和 b.b1 其中,a,b指代数据库,a1和b1分别指对应的数据库中的表,a1和b1的表结构差不多,那如何做到两个表的数据同步更新?最好能以实例说明!
另外,多说一点,这种具体实现如果想封装到webservice中,应该注意哪些?
例如:有这样两个表 a.a1 和 b.b1 其中,a,b指代数据库,a1和b1分别指对应的数据库中的表,a1和b1的表结构差不多,那如何做到两个表的数据同步更新?最好能以实例说明!
另外,多说一点,这种具体实现如果想封装到webservice中,应该注意哪些?
insert tb values(1,'aaa');
insert tb values(2,'bbb');
insert tb values(3,'ccc');use test;CREATE TABLE tb(id int ,data varchar(20));
insert tb values(1,'aaa');
insert tb values(2,'bbb');
insert tb values(3,'ccc');
UPDATE mytest.tb,test.tb
SET mytest.tb.data='liangCK',
test.tb.data='liangCK'
WHERE mytest.tb.id=test.tb.id
AND mytest.tb.id=2;SELECT * FROM mytest.tb;
select * from test.tb;
mysql一句update可以更新多个表的数据.更新的时候在set指定哪个表的哪个列要更新...
一:在MySQL的触发器中实现mysql> select version();
+----------------------+
| version() |
+----------------------+
| 5.1.33-community-log |
+----------------------+
1 row in set (0.00 sec)mysql> CREATE TABLE test.test1(a1 INT);
Query OK, 0 rows affected (0.09 sec)mysql> CREATE TABLE dbtest.test2(a2 INT);
Query OK, 0 rows affected (0.05 sec)mysql> delimiter //
mysql>
mysql> CREATE TRIGGER testref BEFORE INSERT ON test1
-> FOR EACH ROW BEGIN
-> INSERT INTO dbtest.test2 SET a2 = NEW.a1;
-> END;
-> //
Query OK, 0 rows affected (0.08 sec)mysql> delimiter ;mysql> insert into test1 values (1);
Query OK, 1 row affected (0.08 sec)mysql> select * from test1;
+------+
| a1 |
+------+
| 1 |
+------+
1 row in set (0.00 sec)mysql> select * from dbtest.test2;
+------+
| a2 |
+------+
| 1 |
+------+
1 row in set (0.00 sec)二:既然用web service了,那直接在程序中同时向两个库写记录。
http://dev.mysql.com/doc/refman/5.1/zh/triggers.html
2、执行两条SQL语句。