动态标志属性的外键无效
在 MySQL 数据库建模中,外键在强制相关表之间的数据完整性方面发挥着至关重要的作用。然而,当用不确定的分辨率表示动态属性时,就会出现限制。
外键的困境
考虑一个场景,其中图像管理系统旨在跟踪像“不适当”或“受版权保护”。最初提出的数据库模式涉及以下表格:
挑战在于表示尚无逻辑解析时标志的初始状态。默认情况下,MySQL 外键必须引用现有记录,这给可为空解析类型带来了困境。
解决方案:允许外键为 NULL
解决方案是允许tblImageFlags 表的 resolutionTypeID 列中的 NULL 值。这允许创建标志条目而无需分配特定的分辨率。确定分辨率后,可以更新该列以引用 luResolutionTypes 中的有效记录。
语法:
<code class="sql">ALTER TABLE tblImageFlags ALTER COLUMN resolutionTypeID INT UNSIGNED NULL;</code>
语法正确性:索引与索引
除了语言之外,数据库上下文中“索引”的正确复数形式是“索引”,而不是“索引”。后者带有“es”后缀,表示指示符或符号,而不是用于优化查询的数据库结构。
通过允许外键为 NULL 值,您可以灵活地对动态标志归因进行建模,并确保数据完整性,而无需牺牲可用性。
以上是如何在 MySQL 中处理带有外键的动态标志归属:NULL 值的解决方案?的详细内容。更多信息请关注PHP中文网其他相关文章!