在我的SQL表中,我有一个名为“user_id”的列,其逗号分隔值如下:a,b,c,d,我只是想知道如何在不删除旧值的情况下更新此列。我想将此列更新为a,b,c,d,e,其他步骤更新为a,b,c,d,e,f。
我编写了此查询,但它删除了旧值,并且不会使用逗号分隔列表更新值:
UPDATE multiusers SET user_id = '" . $userID . "' WHERE hwid = '" . $hwid."'
答案 0 :(得分:0)
如果您想更新列并附加值,请执行以下操作: -
UPDATE multiusers
SET user_id = user_id + "new user"
WHERE hwid = $hwid
这只是将值附加到SQL SERVER db中的现有值,其他数据库可能具有不同的串联方法。我认为您的问题指向数据库中的基本设计问题,我建议您重新考虑这个问题。
答案 1 :(得分:0)
您将字段视为表格。即使你可以这样做,这也是一个非常糟糕的方法。您应该在多用户表上拥有与用户ID一样多的记录。但是如果你坚持你的方法,那么你将不得不创建一个非常复杂的查询来检索userid字段的值,移动到一个数组并将其与新值进行比较,以确保你不会在字段中插入重复项。像光标这样的东西可能适合你。