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

MySQL唯一值重复报错DuplicateKeyException最好解决方法ON DUPLICATE KEY UPDATE

当多字段组成的唯一索引重复时插入数据报错,但是不想让它报错继续插入,可以使用ON DUPLICATE KEY UPDATE(业务场景允许修改其中某个字段的值的情况下)
比如记录用户最后登录的时间和ip,用户名和ip和更新时间组成唯一索引,当这三个条件都重复时插入失败,可以修改相对不是那么重要的时间来保证插入的成功。

CREATE TABLE `last_login_log` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(255) DEFAULT NULL,`ip_addr` varchar(255) DEFAULT NULL,`update_time` datetime DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `username_ip_time` (`username`,`ip_addr`,`update_time`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO last_login_log (username,ip_addr,update_time
)
VALUES('菜鸟一号','192.122.4.4',NOW()) ON DUPLICATE KEY UPDATE update_time = now();
http://www.lryc.cn/news/2416860.html

相关文章:

  • linux编辑menu.lst,Windows下硬盘安装Ubuntu 16.04的menu.lst文件写法
  • Looper.prepare()和Looper.loop(),在子线程中更新UI
  • http://download.chinaitlab.com/
  • oracle 01157,Oracle数据库启动时出现ORA-01157和ORA-01110问题
  • 即将到来的 ECMAScript 2022 新特性
  • 窗口句柄浅析和获取窗口句柄的方法
  • Delphi7中WebBrowser控件的bug及解决方案
  • 硬盘显示容量和实际容量不符合_让小小白变大白的笔记本电脑知识科普(硬盘篇)...
  • 工具分享:易读文档下载器(同时支持百度/豆丁)
  • 在网页上漫步太空,谷歌推出谷歌天空网页版
  • 微信红包助手:自动抢红包,智能更轻松
  • H264/H265 PS 流分析
  • 解决 java.sql.SQLException: ORA-01688: unable to extend table XXX partition YYY by 1024 in tablespace
  • 三种常见中文内码的转换方法
  • 如何捕获access violation异常
  • c3p0详细配置
  • 实例表现ibatis的基础用法(不断更新)
  • 为intellij idea添加YUI Compressor支持
  • 详细解释PHP中header
  • JavaScript的数组操作
  • 软件工程相关知识点
  • IIS启动不了解决方法
  • Java API 使用文档中文版下载
  • LangChain搭建Agent | 使用initialize_agent
  • Android学习笔记(十) 主题样式的设置
  • 渗透中寻找突破口的那些事
  • 解决QQ在线客服代码提示对方“QQ在线状态”服务尚未启用
  • VM12即VMware Workstation 12 序列号
  • linux修改vcf编码格式,飞翔vcf文件编码转换
  • [转]灰度共生矩阵(超简单理解)