0

テーブルがあります:

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

ここで、複数の添付ファイルが必要です。
現在、1つの添付ファイルリンクのみが保存されています。解決策は、別の外部キーテーブルを追加するか、列にコンマ区切りの値を使用することです。しかし、これには、多くの変更を加えることなく、古いシステムと新しいシステムを併用できる、より優れたソリューションが必要です。助言がありますか?

4

2 に答える 2

5

@BurhanKhalid が言うように、これに対する解決策にはアプリケーションの変更が必要です。それを正しく行いattachments、外部キーを持つ別のテーブルでデータを正規化する必要があります。 従来のアプリ バージョンをサポートするには、元のテーブルのattachment列をそのままにして、新しい正規化されたテーブルに追加される最初の添付ファイル リンクを入力するトリガーを作成します。長期的には、新しいテーブルを使用するようにレガシー アプリを修正してから、古い列を非推奨にする必要があります。

于 2012-07-17T05:25:31.737 に答える
1

attachmentまず、タイプがタイプになるようにテーブルを変更してからTEXT、添付ファイルをシリアル化して(たとえば、jsonまたはxmlとして)、attachment列に配置します。

于 2012-07-17T04:33:27.980 に答える