med*_*iev 2 mysql innodb foreign-keys
直到最近,当我决定开始担心参照完整性等时,我一直在使用MyISAM并且没有定义明确的外键关系.
我正在研究一个存储战斗事件,战斗机统计数据的数据库,所以我认为这符合使用InnoDB和明确定义外键的标准.
我有一个战斗机表,其中有多个列是外键.我想知道是否建议始终明确定义外键关系,无论表中引用了多少外键?
特别是,对于这个表我有:
CREATE TABLE `fights` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`event_id` int(10) unsigned DEFAULT NULL,
`winner_id` int(10) unsigned DEFAULT NULL,
`referee_id` int(10) unsigned DEFAULT NULL,
`championship_match` enum('1','0') DEFAULT NULL,
`weight_class` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)
我打算做referee_id,winner_id,event_id所有外键各自表ID列.这是要走的路吗?或者,为了性能原因,我是否应该以关系完整性为代价限制明确定义的外键数量?
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |