mysql流程函数存储引擎InnoDB简单特性(三)

2015-07-24 11:32:16 · 作者: · 浏览: 12
uery OK, 0 rows affected (0.05 sec) 插入记录: mysql> insert into country(country) values('china'); Query OK, 1 row affected (0.03 sec) mysql> select * from country; +------------+---------+ | country_id | country | +------------+---------+ | 1 | china | +------------+---------+ 1 row in set (0.00 sec) mysql> insert into city(country_id) values(1); Query OK, 1 row affected (0.11 sec) mysql> select * from city; +---------+------------+ | city_id | country_id | +---------+------------+ | 1 | 1 | +---------+------------+ 1 row in set (0.00 sec) city表依赖country表的country_id字段,删除会出错: mysql> delete from country where country_id=1; ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constrai nt fails (`tom1/city`, CONSTRAINT `city_ibfk_1` FOREIGN KEY (`country_id`) REFER ENCES `country` (`country_id`) ON UPDATE CASCADE) 现在更新country表中的country_id字段,city表的country_id字段也会被同步更新,这是因为在创建city表的最后加了:on update cascade,即:更新时做级联操作 mysql>
update country set country_id=1000 where country_id=1; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from city; +---------+------------+ | city_id | country_id | +---------+------------+ | 1 | 1000 | +---------+------------+ 1 row in set (0.00 sec)