Mysql插入数据主键重复时怎么搞?

如果插入数据主键重复或数据已经存在,显然需要更新这条数据

一、大家在做数据库相关操作的时候,应该经常会遇到当一条数据不存在的时候,插入这条数据。但是如果这条数据的主键已经在,并且数据已经填充好时,那么怎么才能更新这条数据呢?xiao

  可能大部分人第一时间想到是先插入,然后判断主键是否存在,不存在就插入,存在就执行

更新语句,这种做法是最容易想到的,也算对,但是弊端很大,首先你需要写两条sql语句,这样

的话就需要两次连接数据库服务器,然后利用高级语言来判断是否存在的逻辑。显然效率很低!那么

有什么一劳永逸的好方法呢?

下面教你一条SQL语句,教你解决这类问题!

sql = "insert into douyin (user_name,user_id,profile,prasied_number,focus_number,fans_number,avatar,work_image) values (%s,%s,%s,%s,%s,%s,%s,%s)

    ON DUPLICATE KEY UPDATE user_name='$user_name',profile='$profile',prasied_number='$prasied_number',focus_number='$focus_number',fans_number='$fams_number',avatar='$avatar',work_image='$work_image'"

ON DUPLICATE KEY UPDATE(当出现DUPLICATE KEY主键重复错误的时候触发Update操作,当然要求就是表在设计的时候一定要有主键primary key)

posted @   Eliphaz  阅读(3069)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示