繁体   English   中英

有什么解决方案来更改表的列以存储多个值?

[英]What are some solutions for altering a table's column for storing multiple values?

我们有一张桌子:

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`)
)

现在我们需要有多个附件
当前仅保存一个附件链接。 一个解决方案可能是添加另一个外键表或在列中使用逗号分隔的值 但是我们需要一个更好的解决方案,该解决方案可以将旧系统与新系统一起使用,而无需进行太多更改。 有什么建议么?

正如@BurhanKhalid所说,任何对此的解决方案都将需要您的应用程序中的更改。 您只需要正确执行操作,并使用带有外键的单独attachments表对数据进行规范化即可。 要支持旧版应用程序 ,请保留原始表中的attachment列,然后创建触发器以使用添加到新的标准化表中的第一个附件链接进行填充。 从长远来看,您想修复旧应用程序以使用新表,然后弃用旧列。

首先,更改表,使attachment的类型为TEXT ,然后序列化附件(例如,作为json或xml)并将其放入attachment列中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM