沧海十一刀 2017-05-22 23:47 采纳率: 20%
浏览 5317
已结题

请教关于MySQL新增数据,不存在则新增,存在则更新的问题

问题描述:
一张表,id为主键,现在在数据库中插入数据,如果存在firstName、lastName相同的数据,则更新count,不存在这插入数据。
例如:已有数据中,已存在 firstName 为 Jack,lastName 为 Li 的数据,则原有数据不新增,只修改count。
我尝试过使用ON DUPLICATE KEY UPDATE函数,但是我发现这个函数貌似只能根据插入的数据中第一个字段做判断。
请高手们多多指点。

##建表

CREATE TABLE test (
id int(11) NOT NULL AUTO_INCREMENT,
firstName varchar(20) DEFAULT NULL,
lasetName varchar(20) DEFAULT NULL,
job varchar(255) DEFAULT NULL,
phone varchar(255) DEFAULT NULL,
count int(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


插入数据:

INSERT INTO test (id, firstName, lasetName, job, phone, count) VALUES ('1', 'Jack', 'Chen', '演员', '110', 100);
INSERT INTO test (id, firstName, lasetName, job, phone, count) VALUES ('2', 'Jack', 'Li', '演员', '110', 200);


##删除表:

DROP TABLE test;


  • 写回答

6条回答

  • AngusFeng 2017-05-23 00:12
    关注

    围观,我们开发中都是先查询一下有没有这条数据,然后再做操作图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?