Node.js Mysql在Dublicate上插入对象

Node.js Mysql在Dublicate上插入对象,mysql,node.js,Mysql,Node.js,这个查询如何正确 let newUser = { user_id:'123456', user_name:'someone' } con.query('INSERT INTO users SET ? ON DUPLICATE KEY UPDATE ?', newUser, (err,rows) => { if(err) throw err; }); 目前,我得到一个语法错误后更新 编辑 Error: ER_PARSE_ERROR: You

这个查询如何正确

let newUser = {
    user_id:'123456',
    user_name:'someone'
    }

con.query('INSERT INTO users SET ? ON DUPLICATE KEY UPDATE ?', newUser, (err,rows) => {
        if(err) throw err;
    });
目前,我得到一个语法错误后更新

编辑

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1


 sql: "INSERT INTO users SET `user_id` = '', `user_name` = '' ON DUPLICATE KEY UPDATE ?"
表格结构

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `user_name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`,`user_Id`)
) ENGINE=InnoDB AUTO_INCREMENT=86 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

问号的数量应等于数组的大小。 你必须通过2个参数

let newUser = {
    user_id:'123456',
    user_name:'someone'
    }

con.query('INSERT INTO users SET ? ON DUPLICATE KEY UPDATE ?', [newUser, newUser], (err,rows) => {
        if(err) throw err;
    });

问号的数量应等于数组的大小。 你必须通过2个参数

let newUser = {
    user_id:'123456',
    user_name:'someone'
    }

con.query('INSERT INTO users SET ? ON DUPLICATE KEY UPDATE ?', [newUser, newUser], (err,rows) => {
        if(err) throw err;
    });

共享完整的错误日志,查询生成的编辑值为空,因为我删除了此处的真实值共享完整的错误日志,查询生成的编辑值为空,因为我删除了此处的真实值。query('INSERT INTO users SET?ON DUPLICATE KEY UPDATE?'),user,user(err,rows)=>{^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^但是,当我现在更改用户名时,它会生成一个新条目。我只希望在我的表中有一个用户id,现在每次都会生成一个新条目…仍然是当它的值与检查这些键的
主键
唯一键
索引
重复时
(“在重复密钥更新时插入用户集”,用户,用户(错误,行)=>{^^^^^^^^^^^^^^^^^^^^^^^语法错误:格式错误的箭头函数参数列表
[newUser,newUser]
是一个数组参数con.query有3个参数1.query,2.input values,3.callbackOkey得到了它:)但当我现在更改用户名时,它会生成一个新条目。我只想让用户名在我的表中出现一次,现在每次都会生成一个新条目…仍然是当它的值与检查这些键的
主键
唯一键
索引