首页 > 数据库 >mysql 使用ON DUPLICATE KEY update实现插入或更新操作

mysql 使用ON DUPLICATE KEY update实现插入或更新操作

时间:2023-11-06 18:13:05浏览次数:44  
标签:UserName utf8 UserID update DUPLICATE KEY mysql

创建一个表

CREATE TABLE `userinfo` (
  `UserID` int(11) NOT NULL,
  `UserName` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`UserID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

想要实现,没有数据插入新数据,有数据更新数据

首先必须要有个唯一索引,我这里为主键UserID

然后使用ON DUPLICATE KEY update实现想要效果

insert into userinfo (UserID,UserName) VALUES  (1,"张三") ON DUPLICATE KEY update UserName="李四"

效果为,如果不存在userID=1的数据,就插入一条UserID=1,UserName=张三的数据,如果已经存在UserID=1的数据,就将其UserName更为新李四

经过测试没有问题,可用

标签:UserName,utf8,UserID,update,DUPLICATE,KEY,mysql
From: https://www.cnblogs.com/luludongxu/p/17813357.html

相关文章

  • SQLserver、MYSQL、Oracle复制表结构和数据语句
    1.SQLserver语法select*into新表名from旧表名;2.mysql语法CREATETABLE新表名SELECT*FROM旧表;Oracle语法CREATETABLE新表ASSELECT*FROM旧表;......
  • MySQL学习(11)使用EXPLAN查看执行计划
    前言 MySQL查询优化起生成的执行计划是什么,可以通过EXPLAIN命令查看。执行计划在SELECT、DELETE、INSERT、REPLACE以及UPDATE语句前面加上EXPLAIN,可以通过记录的形式输出这条语句的执行计划。EXPLAINSELECT*FROMsingle_table; 列名描述id每个SELECT关键字......
  • mysql八股
    设计表字段需要考虑哪些redis跳跃表结点怎么实现的Mysql的索引为什么使用B+树而不使用跳表B+树的层级怎么确定的LIMIT语句查询比较慢怎么解决慢sql优化事务发生死锁怎么解决binlog,怎么使用binlog做数据迁移怎么做实时的数据迁移//redolog......
  • Centos7 安装 Mysql5.7
    一、下载mysql5.7的安装包下载地址:https://dev.mysql.com/downloads/mysql/5.7.html①、选择linux版的②、选择64bit,根据自己的情况来看③、选择下载tar包④、点击下载⑤、等待下载完二、上传到服务器上传到服务器有好几种方法,任意采用一种就可以......
  • 常用MySQL图形化管理工具
    MySQL是一个非常流行的小型关系型数据库管理系统。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1、phpMyAdmin(http://www.phpmyadmin.ne......
  • 一种Mysql和Mongodb数据同步到Elasticsearch的实现办法和系统
    本文分享自天翼云开发者社区《一种Mysql和Mongodb数据同步到Elasticsearch的实现办法和系统》,作者:l****n核心流程如下: 核心逻辑说明:MySQLBinlog解析:首先,从MySQL的二进制日志(Binlog)中解析出表名。这一步骤非常关键,因为我们只关注特定表的数据变更。进一步,我们检查Binlog中......
  • 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程
    报错:1130-host...isnotallowedtoconnecttothisMySqlserver开放mysql远程连接不使用localhost解决方法:1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"......
  • MySQL 删除重复记录
    ==========AreallyeasywaytodothisistoaddaUNIQUEindexonthe3columns.WhenyouwritetheALTERstatement,includetheIGNOREkeyword.Likeso:   ALTERIGNORETABLEjobsADDUNIQUEINDEXidx_name(site_id,title,company);Thiswilldropallt......
  • MySQL索引
    索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个mytable表:CREATETABLEmytable(  IDINTNOTNULL,   usernameVARCHAR(16)NOTNULL );......
  • MySQL中表复制:create table like 与 create table as select
    1   CREATETABLEALIKEB此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来。2.  CREATETABLEAASSELECT*FROMB此种方式只会将表B的字段结构复制到表A中来,但不会复制表B中的索引到表A中来。这种方式比较灵活可以在复制原表表结构的同时指定要复......