在我的数据库表中,我有一个字段,我将用户 ID 存储为逗号分隔值,例如 1,2,3 等。每个用户 ID 都会在某个点通过更新添加到该字段中。因此,如果字段包含值 1,那么我想在下次更新时将新用户 ID 附加为 ,2
,以便所有值都用逗号分隔。
我正在使用以下 mysql:
"UPDATE videorating
SET total_votes='".$added."',
total_value='".$sum."',
userid=CONCAT(userid,',$userid'),
used_ips='".$insertip."'
WHERE videoid='$id_sent'";
这里$userid
将包含用户ID。但这不能正常工作。该字段没有更新。这个查询有什么问题。
谁能帮我解决这个问题。提前致谢。
最佳答案
我不确定您的 userid
列是否真的是 varchar
?如果它是 varchar
(或其他一些基于文本的),那么您的代码应该可以工作。这与您的相同,但引用太多:
UPDATE videorating
SET total_votes='$added',
total_value='$sum',
userid=CONCAT(userid,',$userid'),
used_ips='$insertip'
WHERE videoid='$id_sent'";
如果它实际上是一个int
,你就不能这样做,你需要重新考虑你想要归档的内容。
关于php - MySQL concat() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22707229/