php - 使用 mysql 的 CONCAT() 作为列名

标签 php mysql database concatenation

我想通过将字符串与函数连接来更新数据库列。假设我有两列 sum_likes_c1sum_likes_c2,并且我有一个名为 $class 的函数,有 1 或 2 个值

所以我希望查询根据 $class 值更新列

我当前的代码(不起作用):

if (isset($function)) {
    $class = 1;
    } else $class = 2;

    $update_likes = mysqli_query($con, "UPDATE posts SET CONCAT(sum_likes_c,'$class') ='$total_likes' WHERE id='$post_id'");

如有任何帮助,我们将不胜感激

最佳答案

CONCAT() 是一个字符串函数,不能将其用于标识符的列名。你必须在 PHP 中连接。 See how to do it properly

也就是说,如果您需要连接以获得一个列名称,很可能(比如 99%)您的数据库设计是错误的。必须有一个单独的表来收集您的喜欢,最好使用 INSERT,而不是 UPDATE

关于php - 使用 mysql 的 CONCAT() 作为列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58908784/

相关文章:

php - PDO INSERT 语句错误

javascript - 描述对页面上的字符数有限制。 PHP

mysql - 1 个 auto_increment 和 2 个主键

mysql - 分组依据并限制 mySql 中的输出

database - 判断一个关系是 3NF 还是 2NF

php - Yii - 文本区域的客户端验证

php - Laravel 在线购物车

java - Android Java POST 数据

java - 获取 cookie 值还是从 DB 获取数据?

python - 执行很多问题,MySQLdb