ETJava Beta | Java    注册   登录
  • MySQL 使用ON DUPLICATE KEY UPDATE 更新或新增数据

    发表于 2025-04-09 22:05:34     阅读(87)     博客类别:MySQL

    MySQL 使用ON DUPLICATE KEY UPDATE 更新或新增数据

    需求:
    在向一张表中插入数据时 如果对应的数据存在了 则更新数量 不做新增操作,如果不存在则新增数据
    
    分析:
    给表中条件创建唯一索引,新增数据时使用 insert into .... on duplicate key update 需要更新的字段=原始字段值+values(新的字段值)
    

    示例

    CREATE TABLE orders2 (
        id INT PRIMARY KEY AUTO_INCREMENT,
        user_id INT ,
        amount DECIMAL(10,2)
    );
    
    添加索引(也可以在创建表时直接添加)
    ALTER TABLE orders2 ADD UNIQUE INDEX (user_id);
    
    添加数据
    INSERT INTO orders2 (user_id, amount)  VALUES (1, 100) 
    ON DUPLICATE KEY UPDATE  amount = amount + VALUES(amount);

     

     

     

     

上一篇: mysql 触发器


下一篇:layui弹窗提示