2012-03-03 6 views
1

私はユーザメッセージをデータベースに保存したいと思います。この場合、メッセージにオブジェクトを(格納するための最もapperoperiateデータ型が何であるかmysqlは列の値にコンテンツを追加します

  • :メッセージは、データオブジェクトメタデータとメッセージテキストが含まれてい(フィールドのテキスト、差出人、日付を持つクラス)となります)。
  • Iは、列の値を読み取り、メモリにTを更新し、バックディスクに書き込みすることなく、別のオブジェクトへの1つのオブジェクト(メッセージ)の内容を追加することができました。私が受け取ったすべてのメッセージをユーザーがダウンロードするまで保存する必要があるからです。

ありがとう。

答えて

1

テキストは、それがIntまたはShort Int
になり、日がタイプDATE、DATE型に関するDATETIMETIMESTAMP
詳細情報はhereに行くにすることができ、その場合の送信者IDでなければなりませんTEXT
送信者のタイプになります。


あなたのメッセージフォーマット

to_id  sender_id  message      date 
22243  22211  blah blah blah    3/3/2012 
22244  22211  blah blah blah    3/3/2012 
22245  22211  blah blah blah    3/3/2012 

を以下に私は完全にあなたの2番目の質問を理解することはできません保存され、取得されます。フィールドがNULL値、以下の作品が含まれていてもよい可能性がある場合は、連結
http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat

3

新しいテキストをconcatingフィールドを更新するために、あなたはCONCAT() functionを使用することができます。

例:

UPDATE messages SET message = CONCAT(message, 'new text to add') where user_id = 1; 

(この例で、「メッセージ」で)既存のフィールドの値がNULLでない場合は、この唯一の作品を注意してください。

+0

どのような簡単な答え。ちょうど私が探していたもの。 –

4

を使用してMySQLのあなたの列にデータを追加することができますどのようにこれまで

UPDATE tb_messages 
SET message = CASE 
       WHEN LENGTH(message) > 0 THEN 
        CONCAT(message, ',', 'New message content') 
       ELSE 'New message content' 
       END 
WHERE user_id = 1 

はそれが役に立てば幸い:)

関連する問題