2011-07-10 10 views
2

私は、mysqlテーブルのvarcharフィールドに格納されているカンマで区切られたリストを持っています。MYSQLカンマ区切りのリスト。値の追加と削除は可能ですか?

SQLクエリを使用して直接リストに値を追加したり削除したりすることはできますか?あるいは、テーブルからデータを取り出し、PHPで操作して、それをmysqlに戻す必要がありますか?

+3

正規化が重要な理由を理解しました。 –

+0

何をやっているのですか?自分の小さなデータベースをSQLで書こうとしていますか? –

+0

あなたはこの文字列をどのように操作しようとしているのか、より具体的になりますか?このテーブルに文字列を格納する必要がありますか?ユーザーのためにリアルタイムで行うことができない情報を事前に計算するようなことをしない限り、それは本当に悪い習慣です。 –

答えて

4

mysqlのInnoDBエンジンとMyIsamエンジンで行う方法はありません。他のエンジンにある可能性があります(CSVエンジンをチェックしてください)。
ストアドプロシージャで実行できますが、お勧めしません。

T1: id | some_other_data 
    1 | abanibi 

T2: id | t1_id | data_piece 
    1 | 1  |  gg 
    2 | 1  |  jj 
    3 | 1  |  ss 
    4 | 1  |  ee 
    5 | 1  |  tt 
    6 | 1  |  hh 

とdata_pieceが一定値である場合:あなたは、このような問題を解決するために何をすべき
はなるためには、あなたのコードをリファクタリングして、DB =>
元のテーブル

T1: id | data     | some_other_data 
    1 | gg,jj,ss,ee,tt,hh  | abanibi 

を正規化することです再利用されるシステムでは、ルックアップテーブルも追加する必要があります。

私はそれがより多くの作業に見えますが、今のように問題を解決し、解決するのに多くの時間を要します。

関連する問題