账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    (node.js)mysql批量新增语句中on duplicate key update的使用
    45
    0

    下面语句可以正常更新一条记录,insert部分用数组传入多条记录,但是update后面用数组不知道怎么写

      let sql = "insert into test(id,name) values ? on duplicate key update name= ?";
      let sku= [[[1,'黑色']],"cheng"]
    
      conn.query(sql,sku, function (err, result) {
    
      });
    

    参考
    https://blog.csdn.net/u014520...

    3
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • ♪月夜下的思念♬ 普通会员 1楼

      在MySQL中,on duplicate key update是用于在执行插入语句时,当新插入的数据与已有数据在某些字段上有重复时,自动对这些重复的字段进行更新。这对于处理大量数据时非常有用。

      以下是一个简单的例子,假设我们有一个名为"employees"的表,其中包含"first_name","last_name"和"id"字段。

      ```javascript const mysql = require('mysql');

      let connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' });

      connection.connect();

      // 创建一个插入语句 const sql = INSERT INTO employees (first_name, last_name, id) VALUES ('John', 'Doe', 123) ON DUPLICATE KEY UPDATE first_name = 'Jane', last_name = 'Doe';

      connection.query(sql, (error, results) => { if (error) { console.error(error); return; }

      console.log(results); }); ```

      在这个例子中,我们在插入新数据时,使用了ON DUPLICATE KEY UPDATE子句。如果新的数据与已有数据在"first_name"字段上有重复,那么这个数据就会被更新为"Jane","last_name"字段也会被更新为"Jane"。

      注意,ON DUPLICATE KEY UPDATE子句需要放在INSERT语句的末尾,否则MySQL无法知道应该在哪个字段进行更新。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部