MySQL外键

it2023-10-28  68

外键的使用条件:

1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;

 

在外键表中,如果关联了主键,那么需要删除外键表上的信息,才能删除主键表对应的信息

 

优点:

(1)保证数据一致性,完整性,更可靠

(2)有主外键的数据库设计可以增加ER图的可读性​​​​​​​

(3)外键在一定程度上说明的业务逻辑,会使设计周到具体全面​​​​​​​

 

缺点:

(1)可以用触发器或应用程序保证数据的完整性​​​​​​​

(2)不用外键时数据管理简单,操作方便,性能高​​​​​​​

(3)过分强调或者说使用主键/外键会平添开发难度,导致表过多等问题​​​​​​​

最新回复(0)