日期:2014-05-16  浏览次数:20818 次

如何同步更新两个表中的数据
有两个表AA和BB,结构如下.
AA:
id,name

BB:
id,name

能否这样实现,当表AA插入新的数据时,同时BB表里也被插入一个数据.比如:
INSERT   INTO   `AA`   (   `name`)   VALUES   ( 'abcde ');
同时BB表里的name也同时为 'abcde '.
另外,当删除表AA中的数据时,同时也删除BB中的数据.

谢谢.

------解决方案--------------------
可以啊,做trigger
------解决方案--------------------
create table AA(id int not null auto_increment primary key,name varchar(64));
create table BB(id int not null auto_increment primary key,name varchar(64));
DELIMITER $$

DROP TRIGGER `test`.`sample1`$$

CREATE TRIGGER `test`.`sample1` AFTER INSERT on `test`.`aa`
FOR EACH ROW
BEGIN
insert into bb(name) values(new.name);
END$$

DELIMITER ;
DELIMITER $$

DROP TRIGGER `test`.`sample2`$$

CREATE TRIGGER `test`.`sample2` AFTER DELETE on `test`.`aa`
FOR EACH ROW
BEGIN
delete from bb where name = old.name;
END$$

DELIMITER ;
------解决方案--------------------
用触发器可以实现,楼上提供的代码删除的时候要改用主键。