学电脑,学计算机 | 手机访问 | 加入收藏 | 设为首页 | RSS
当前位置:首页 > 数据库 > MySQL教程 > 正文

MySQL插入数据时,如果记录不存在则insert,如果存在则update

发布时间:2016-10-14 23:38:54  来源:电脑技术学习网
【摘要】: 本篇文章是对mysql 插入数据语法进行了详细的分析介绍,需要的朋友参考下

MySQL 当记录不存在时insert,当记录存在时更新

网上基本有三种解决方法。

第一种:

示例一:insert多条记录

假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:

INSERT INTO clients

(client_id, client_name, client_type)

SELECT supplier_id, supplier_name, 'advertising'

FROM suppliers

WHERE not exists (select * from clients

where clients.client_id = suppliers.supplier_id);

示例一:insert单条记录

INSERT INTO clients

(client_id, client_name, client_type)

SELECT 10345, 'IBM', 'advertising'

FROM dual

WHERE not exists (select * from clients

where clients.client_id = 10345);

使用 dual 做表名可以让你在 select 语句后面直接跟上要insert字段的值,即使这些值还不存在当前表中。

发表评论 共有条评论
验证码: