2012-06-09 22 views
0

我已經寫了非常類似如下的表:
MySQL的:如何插入表和重寫信息

 
Username | Password | ListContents 
snarky |(not displayed)| Mow Lawn,Do Homework,Make breakfast 

我要覆蓋/添加到表的ListContents場當用戶輸入新的任務。這可能嗎?謝謝!

+2

多值列值被認爲是不好的設計,因爲它使更新非常困難。解決這個問題的最佳方法是規範化你的表,將Listcontents與外鍵一起放入一個單獨的表中。 – codaddict

+1

這是一個好主意,這個表格至少規範爲第三範式,以擺脫重複的數據,這被認爲是不好的設計。編輯:看起來像有人打敗了我!創建一個新表,其中包含例如username和listContentID作爲組合鍵,然後按照您在此處列出的內容。 –

回答

1

是的,這是可以做到的。看看這裏MySQL UPDATE

編輯:你應該認真考慮的意見,您的文章約正常化你的表

+1

或者REPLACE或INSERT ON DUPLICATE KEY UPDATE處理事情,如果該行尚不存在。正如其他人所提到的,將列表存儲在單個字段中通常是一個糟糕的主意。 –

0

我相信你想連接具有在ListContents領域先前值新的輸入。

UPDATE table SET ListContents = concat(ListContents, ",newInput") WHERE Username = "snarky"

如果你不能/不想規範化的表,我建議您嘗試最低的值存儲在JSON格式。