php - MySQL concat() 无法正常工作

标签 php mysql concatenation

在我的数据库表中,我有一个字段,我将用户 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/

相关文章:

PHP MySQLi Fetch Array Auto Increment int 失败

mysql - 如何在 NodeJS 中的相同代码中返回 promise 并关闭 mysql 连接

c - 备注: unrecognized token warning for the macro concatenation

php - Zend Framework 1.12 选择元素 - 名称数组问题

php - 使用php从MySQL中的两个连接表中删除信息

mysql - 如何提高 mysql LOAD XML LOCAL INFILE 表导入的性能?

php - MySQL CONCAT : how to add data at the end of string and delete data at the beginning if size exceeded?

c - C中的动态字符串连接

javascript - 如何将关联数组从 PHP 传递到 HTML 以进行进一步处理

mysql - 为 mysql 服务器安装 glibc 2.3