我想将用户消息保存到数据库中。该消息将是数据对象(包含字段文本,发件人,日期的类),其中包含带有元数据的消息文本:
感谢。
答案 0 :(得分:4)
如果字段可能包含空值,则以下方法有效:
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
希望有所帮助:)
答案 1 :(得分:3)
要更新汇总新文字的字段,您可以使用CONCAT() function。
示例:
UPDATE messages SET message = CONCAT(message, 'new text to add') where user_id = 1;
请注意,这仅适用于现有字段的值(在此示例中为“message”)不为NULL。
答案 2 :(得分:1)
文字的类型为TEXT
发件人应该是发件人ID,在这种情况下,它将是Int
或Short Int
和日期可以是DATE
,DATETIME
或TIMESTAMP
类型
有关DATE类型的更多信息,请here。
您的消息将以以下格式保存和检索
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
我无法完全理解你的第二个问题。
如何使用concat在mysql中的列中附加数据
http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat