说明
1、外键约束使得查询需要额外访问一些别的表,这也意味着需要额外的锁。
2、可以使用触发器来代替外键,对于相关数据的同时更新外键更合适,但是如果外键只是用作数值约束,那么触发器或者显式地限制取值会更好些(这里,可以直接使用ENUM类型)
3、如果只是用外键做约束,那通常在应用程序里实现该约束会更好。外键会带来很大的额外消耗。
实例
建立外键约束
create table tab1 (id int primary key); create table tab2 ( id int primary key, col1 int, foreign key (col1) references tab1(id) );
以上就是mysql外键约束的理解,希望对大家有所帮助。更多mysql学习指路: