簡體   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