cod*_*eak 0 mysql sql database-design data-modeling
我们有一张桌子:
message (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`subject` VARCHAR(255) NOT NULL DEFAULT '',
`message` TEXT NOT NULL,
`attachment` VARCHAR(255) NULL DEFAULT NULL,
`new` TINYINT(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
Run Code Online (Sandbox Code Playgroud)
现在我们需要有多个附件.
目前只保存一个附件链接.解决方案可能是添加另一个外键表或在列中使用逗号分隔值.但是我们需要一个更好的解决方案,它可以使用旧系统和新系统,而无需太多改动.有什么建议?
正如@BurhanKhalid所说,任何解决方案都需要更改您的应用程序.您应该只是正确地执行它并attachments使用带有外键的单独表来规范化您的数据. 要支持旧版应用程序版本,请将attachment列保留在原始表中,然后创建一个触发器以使用添加到新的规范化表的第一个附件链接填充它.从长远来看,您希望修复旧版应用以使用新表,然后弃用旧列.