当前位置: 首页 > news >正文

网络教育做的好的网站/网站推广的优化

网络教育做的好的网站,网站推广的优化,网站建设低价建站真赚钱了吗,做网站需要软件业务场景:需要记入访客的访问情况,但不能重复记入可以插入前进行判断要插入的数据是否存在业务代码如下 :INSERT INTO t_topic_vistor(user_id,topic_code) SELECT 218,XQ33019920170811142528217 FROM DUAL WHERE NOT EXISTS(SELECT *FROM t…

业务场景:需要记入访客的访问情况,但不能重复记入

可以插入前进行判断要插入的数据是否存在业务代码如下 :

INSERT INTO t_topic_vistor(user_id,topic_code) SELECT '218',

'XQ33019920170811142528217' FROM DUAL WHERE NOT EXISTS(SELECT *

FROM t_topic_vistor WHERE user_id = 218 and

topic_code='XQ33019920170811142528217')

语法如下:

INSERT INTO table(field1, field2, fieldn) SELECT 'field1',

'field2', 'fieldn' FROM DUAL WHERE NOT EXISTS(SELECT field FROM

table WHERE field = ?)

补充知识:MySql 不存在则插入,存在则更新或忽略

前言

在插入数据时,可能需要忽略或替换掉重复的数据(依据某个字段),这时可以在应用层处理,也可以使用复杂的 SQL 语句来处理(如果仅仅知道一些简单的 SQL 语法的话),当然也可以使用一些简单的 SQL 语法,不过它并不是通用所有的数据库类型。

以下所有实例仅针对MySQL而言,并不能随意用于其它数据库

实例

表名称:student

表字段:

Column Name

Primary Key

Auto Increment

Unique

id

true

true

name

true

age

初始表数据:

id

name

age

1

Jack

18

注:以下所有的示例都需要被插入的数据中需要存在UNIQUE索引或PRIMARY KEY字段,同时这里引入表的主键id,并设置成自动递增,后面可以看到它的变化

1. 不存在则插入,存在则更新

1.1 on duplicate key update

如果插入的数据会导致UNIQUE 索引或PRIMARY KEY发生冲突/重复,则执行UPDATE语句,例:

INSERT INTO `student`(`name`, `age`) VALUES('Jack', 19)

ON DUPLICATE KEY

UPDATE `age`=19; -- If will happen conflict, the update statement is executed

-- 2 row(s) affected

这里受影响的行数是2,因为数据库中存在name='Jack'的数据,如果不存在此条数据,则受影响的行数为1

最新的表数据如下:

id

name

age

1

Jack

19

1.2 replace into

如果插入的数据会导致UNIQUE 索引或PRIMARY KEY发生冲突/重复,则先删除旧数据再插入最新的数据,例:

REPLACE INTO `student`(`name`, `age`) VALUES('Jack', 18);

-- 2 row(s) affected

这里受影响的行数是2,因为数据库中存在name='Jack'的数据,并且id的值会变成2,因为它是先删除旧数据,然后再插入数据,最新的表数据如下:

id

name

age

2

Jack

19

2. 避免重复插入

关键字/句:insert ignore into,如果插入的数据会导致UNIQUE索引或PRIMARY KEY发生冲突/重复,则忽略此次操作/不插入数据,例:

INSERT IGNORE INTO `student`(`name`, `age`) VALUES('Jack', 18);

-- 0 row(s) affected

这里已经存在name='Jack'的数据,所以会忽略掉新插入的数据,受影响行数为0,表数据不变。

以上这篇mysql插入前判断数据是否存在的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: mysql插入前判断数据是否存在的操作

本文地址: http://www.cppcns.com/shujuku/mysql/367223.html

http://www.lbrq.cn/news/2339641.html

相关文章:

  • 移动网站模板/免费个人网站源码
  • 普通电脑可以做网站服务器吗/客源引流推广app
  • 上海网站建设企业排名/360推广联盟
  • 西安做网站公司报价/域名注册网站哪个好
  • 网站免费seo/seo代运营
  • 医美三方网站怎么做/免费拓客软件
  • 网站建设结项报告/免费文件外链网站
  • 河南最新疫情公布/手机优化助手
  • 网站规划书 确定网站建设目的/网站下载免费软件
  • 辽宁网站开发/引擎seo如何优化
  • 商城微信网站开发/郑州网站公司哪家好
  • 优质外贸网站/如何给公司网站做推广
  • 起点签约的书网站给做封面吗/东莞最新消息今天
  • 做家电网站/seo项目经理
  • 网站建设需求模板/绍兴seo排名外包
  • 鹰潭公司做网站/推广怎么做才可以赚钱
  • 网站的面包屑怎么做的/可以推广发广告的app
  • 做产品网站费用吗/广州seo搜索
  • 怎么做热血江湖sf网站/谷歌seo新规则
  • 网站建设哪家更专业/社区营销推广活动方案
  • 企业官网怎么和别的网站做链接/seo培训学院官网
  • 个人网站只能用作博客/短视频推广平台
  • 网站建设资料需要公司提交的吗/优化大师下载电脑版
  • wordpress好看的页面/长春做网络优化的公司
  • 做免费的视频网站可以赚钱吗/seo快速排名软件价格
  • 免费申请网站 主机 空间/百度站长之家
  • 吉林省 网站建设/seo免费培训教程
  • 系部 网站建设方案/友情链接的检查方法
  • 网站设计 价格/买卖链接网站
  • 乐享校园网站建设策划书/最近一周的国内新闻
  • 倒计时熔断机制的出价逻辑
  • Vue.js 动画与过渡:让你的界面“活”起来,提升用户体验的视觉魔法!
  • Node.js 中http 和 http/2 是两个不同模块对比
  • HTTP常见误区
  • 【深度学习框架终极PK】TensorFlow/PyTorch/MindSpore深度解析!选对框架效率翻倍
  • 嵌入式硬件篇---晶体管的分类