mysql - 使用 ON DUPLICATE KEY 将列增加一定数量 MySQL NodeJS

标签 mysql sql node.js

我需要使用ON DUPLICATE KEY 将表中的列增加一定数量。我将如何获取该列的当前值并将其增加 X 数量。

注意:我正在使用 nodejs mysql 包,这是我当前的代码:

db.query(`INSERT INTO some_table SET ? ON DUPLICATE KEY UPDATE ?`, [
    {
        sessions: 25,
        pageviews: 240
    },
    {
        sessions: `sessions + ${sessionsIncrementAmount}`,
        pageviews: `pageviews + ${pageviewsIncrementAmount}`
    }
])

最佳答案

您不能使用占位符,但可以将字符串中的变量与 sql 语法结合使用column_name = column_name + yournumber

db.query(`INSERT INTO some_table SET ? ON DUPLICATE KEY UPDATE sessions = sessions + ${sessionsIncrementAmount},pageviews = pageviews + ${sessionsIncrementAmount}`, [
    {
        sessions: 25,
        pageviews: 240
    }
])

关于mysql - 使用 ON DUPLICATE KEY 将列增加一定数量 MySQL NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71817970/

相关文章:

mysql - 我应该为同一列创建 2 个索引来加速连接吗?

带有 except 的 SQL 临时表

php - 了解 sql 错误和自动增量值中的 pdo rollback()

sql - SQL 中存在多个相同值的数据时,仅更改列的一个值

php - 获取mysql View 关联的表名

node.js - Node.js 交互式 shell 中的 window 对象

javascript - Jade 包括检查实际页面的条件

javascript - 为什么我得到这个 'res.render() is not a function'

php - 为 foreach 循环中缺失的项目创建零值

php - 用户隐藏个人信息的数据库结构