我有两张桌子'元素'和'列表' 列表具有主键和列表名称。 元素具有与列表中的单个条目相关的数据。
元素需要一个列,其中包含元素所在的列表。
我已经阅读了SQL的外键约束和数字,这是链接表的最佳方式,但我使用的SQLite不强制执行foerign键约束。
如果没有强制执行,是否有必要声明外键约束?
答案 0 :(得分:2)
现在sqlite强制执行外键,下载新版本。
答案 1 :(得分:2)
即使您的数据库没有强制执行约束(例如旧的MySQL),也总是很好。这样做的原因是,有一天,有人会尝试阅读你的架构(甚至可能是你自己)。
如果您无法使用新版本,您仍然可以声明约束并使用触发器强制执行约束。无论哪种情况,我都不会遗漏符号。这太有用了。
答案 2 :(得分:0)
外键是一个字段(或字段) 这指向了主键 另一张桌子。的目的 外键是确保参考 数据的完整性。换一种说法, 只有应该的值 允许出现在数据库中。
它只强制执行“业务规则”。如果您从业务方面需要这个,那么是的,这是必需的。
索引不会受到影响。
您仍然可以根据需要创建索引。
和