MySQL concat()无法正常工作

时间:2014-03-28 08:02:27

标签: php mysql concat

在我的数据库表中,我有一个字段,我将用户ID存储为逗号分隔值,如1,2,3等。每个用户ID都通过某个更新添加到字段中点。因此,如果字段包含值1,那么我希望在下次更新时将新的userid附加为,2,以便所有值都以逗号分隔。

我正在使用以下mysql:

"UPDATE videorating 
    SET total_votes='".$added."', 
        total_value='".$sum."', 
        userid=CONCAT(userid,',$userid'), 
        used_ips='".$insertip."' 
        WHERE videoid='$id_sent'";

此处$userid将包含用户ID。但这不能正常工作。该字段未获得更新。这个查询出了什么问题。

任何人都可以帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定您的userid列是否真的是varchar?如果它是varchar(或其他一些基于文本),那么您的代码应该可以正常工作。这与您的相同,但引号太多:

UPDATE videorating
SET total_votes='$added',
    total_value='$sum', 
    userid=CONCAT(userid,',$userid'),
    used_ips='$insertip'
WHERE videoid='$id_sent'";

如果它实际上是int你不能这样做,你需要重新思考你想要达到的目标。