`

Mysql中根据记录是否存在选择insert和update

阅读更多

根据记录是否存在来选择insert和update操作:

 

 if exists(select * from table where id=..)  好像不奏效,sql执行报错。

 

You have an error in your SQL syntax; check the manual that corresponds to your 
MySQL server version for the right syntax to use near 
'if exists(select * from fnbl_pim_contact_item where contact=120 and type=1)' at line 1
 

 

 

 

mysql提供了一个更方便的做法:

 

insert into fnbl_pim_contact_item(contact, type, value) value(120, 1, 100) 
on duplicate key update value=100;

 

如果insert数据存在将自动转换为update

 

注意,要使用这条语句,前提条件是这个表必须有一个唯一索引或主键。

 

分享到:
评论

相关推荐

    mysql如何实现 如果存在就update更新,不存在再insert插入.zip

    在MySQL数据库中,如果你需要执行一个操作,即当数据存在时进行更新,如果不存在则进行插入,你可以使用`INSERT INTO...ON DUPLICATE KEY UPDATE`语句。这个功能强大的语句结合了`INSERT`和`UPDATE`操作,允许你在...

    insert/update同时执行(mysql,oracle,sqlserver)

    判断是否存在,存在就update,不存在insert,不是用存储过程解决的。

    根据表名及字段,自动生成insert,update,select语句

    首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...

    insert,update导出sql语句

    在数据库管理中,INSERT和UPDATE语句是两个非常基础且重要的操作。它们分别用于向数据库中插入新的数据和更新已存在的数据。这篇内容将详细解释这两个SQL语句的工作原理、用法以及如何导出这些语句,以供日后使用或...

    详解MySQL数据库insert和update语句

    MySQL数据库的插入(INSERT)和更新(UPDATE)语句是数据操作的重要组成部分,它们用于向数据库表中添加新数据和修改已有数据。SQL语言通常包括查询(SELECT)、更新(INSERT/UPDATE)、删除(DELETE)等基本操作。...

    MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解.pdf

    MySQL数据库的INSERT、UPDATE、DELETE和REPLACE语句是数据操作语言(DML)的关键组成部分,用于在数据库中创建、修改和删除数据。以下是对这些语句的详细说明: 1. INSERT语句: - INSERT语句用于向数据库表中添加...

    Mybatis 中的insertOrUpdate操作

    在Mybatis中,`insertOrUpdate`操作是一种将数据插入数据库,如果存在相同的唯一标识则更新已有数据的方法。这种操作在数据库编程中非常实用,因为它允许开发者以简洁的方式处理增删改查(CRUD)操作。在MySQL中,...

    Merge Into 语句代替InsertUpdate

    非常经典的SQL经验,适合于数据库初学者及长期从事软件开发者

    update mysql with c++

    在IT领域,数据库管理和编程是不可或缺的部分,尤其是MySQL作为一个广泛使用的开源关系型数据库管理系统,它在Web应用程序中扮演着重要角色。本文将聚焦于如何利用C++语言与MySQL进行交互,实现图片数据的读写操作。...

    mysql数据库Insert语句后面加ON DUPLICATE KEY UPDATE,保证唯一性1

    MySQL中的`INSERT INTO ... ON DUPLICATE KEY UPDATE`语句是一种非常实用的机制,它允许你在插入新行的同时处理可能出现的唯一性约束冲突。这个语句主要用于处理唯一索引(包括主键)的情况,当尝试插入的数据与现有...

    MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解.docx

    MySQL 数据库中的 `INSERT`、`UPDATE`、`DELETE` 和 `REPLACE` 语句是数据操作语言(DML)的关键组成部分,用于在数据库中创建、修改和删除数据。以下是对这些语句的详细解释: 1. **INSERT 语句**: - 基本用法:...

    Upload-Insert-Update-Delete-Image-PHP-MySQL.rar_msql

    在这个场景中,我们关注的是一个名为"Upload-Insert-Update-Delete-Image-PHP-MySQL.rar_msql"的压缩包文件,它显然涉及到使用PHP和MySQL进行基本的CRUD操作,即创建(Create)、读取(Retrieve)、更新(Update)和删除...

    mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点实例分析

    在MySQL中,`REPLACE INTO` 和 `INSERT INTO ON DUPLICATE KEY UPDATE` 是两种处理数据插入时冲突的方法,主要用于处理当试图插入一条记录,而该记录的唯一键或主键已经在表中存在的情况。这两种方法都可以实现如果...

    mysql 批量更新及效率对比

    在 MySQL 中批量更新记录时,使用 Replace Into 或 Insert Into ... On Duplicate Key Update 语句可以大大提高更新效率,而使用临时表的方法也可以提高效率,但是需要用户有 temporary 表的 create 权限。

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    在实验中,学生将学习使用 Update 语句修改数据,包括修改单个记录和批量修改记录。 Update 语句可以根据条件修改记录,修改的内容可以是单个字段或多个字段。学生将学习如何使用 Update 语句修改数据,并通过 ...

    MySQL触发器 Update触发Insert失败

    MySQL触发器是一种数据库对象,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。在这个场景中,开发者尝试创建一个UPDATE触发器,当`triggletest_triggle`表中的数据被更新时...

    MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解.doc

    MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解.doc

    MySQL的Replace into 与Insert into on duplicate key update真正的不同之处

    MySQL中的`REPLACE INTO`和`INSERT INTO ... ON DUPLICATE KEY UPDATE`是两种处理数据冲突的方法,它们在处理已有键值冲突时的行为有所不同。这两种语句都是在插入新记录时,如果发现存在相同的唯一键值,则采取不同...

    sql数据库,建立表,主键,和insert及update

    根据提供的文件信息,我们可以深入探讨以下几个关键知识点:SQL数据库、创建表、定义主键、以及INSERT和UPDATE操作。 ### SQL数据库概述 SQL(Structured Query Language)是一种专门用于管理关系型数据库的标准...

Global site tag (gtag.js) - Google Analytics