MySQL插入、更新问题

shootblue shootblue 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我有一个表,大概字段如下

客户ID 客户名称 客户姓名 联系方式 信息ID 信息来源

信息来源可能有好多种,

现在的问题是,我要向这表中插入数据(也就是从其他的表中复制数据过来),插入的时候需要先通过字段“信息ID、信息来源” 这两个字段判断一下是否存在 该来源的该信息,如果存在则更新其中的内容,如果不存在则直接插入新的数据。

信息ID 不是唯一值 可以有重复的值(但是通过 信息ID+信息来源 组合查询可以得到唯一值,也就是说通过这两个字段组合查询只能查出一条相关数据), 信息来源有两种可能 (1代表一种来源 2代表另一种来源)

请问有没有什么效率高的方法!?
...全文

相关推荐

MySQL中实现插入或更新操作(类似Oracle的merge语句)

主要介绍了在MySQL中实现插入或更新操作(类似Oracle的merge语句)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

weixin_38713412

MYSQL插入中文解决方法

已解决讨厌的乱码问题,这个问题让我头疼死了,终于解决了

ronghanzhong

mysql自增id超大问题的排查与解决

引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,balabala……” 我记得没有这么多,最多1k多万,count了下,果然是1100万。原来运维是通过auto_increment那个值看的,就是说,表中有大量的删除插入操作,但是我大部分情况都是更新的,怎么会这样? 下面话不多说了,来一起看看详细的介绍吧 问题排查 这张表是一个简单的接口服务在使用,每天大数据会统计一大批信息,然后推送给小A,小A将信息更新到数据库中,如果是新数据就

weixin_38556205

Mysql中 unique列插入重复值该怎么解决呢

当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT、中断操作或者更新旧记录为新值。 mysql> create table menus(id tinyint(4) not null auto_increment, -> label varchar(10) null,url varchar(20) null,unique key(id)); Query OK, 0 rows affected (0.13 sec) mysql> insert int

weixin_38724154

MySQL 在触发器里中断记录的插入或更新?

下面是一种实现的方法。思路就是想办法在触发器中利用一个出错的语句来中断代码的执行。 mysql> create table t_control(id int primary key); Query OK, 0 rows affected (0.11 sec) mysql> insert into t_control values (1); Query OK, 1 row affected (0.05 sec) mysql> create table t_bluerosehero(id int primary key,col int); Query OK, 0 rows affected (0.

weixin_38559346
评论 12
收藏 已收藏
分享
返回顶部
shootblue
MySQL 57,062 成员 56,759 内容