使用sql语句insert之前判断是否已存在记录

目录
  • sql语句insert之前判断是否已存在记录
  • 关于sql 插入时做判断 简单收集

sql语句insert之前判断是否已存在记录

INSERT INTO test(A,B) select 'ab',2
 WHERE NOT EXISTS (SELECT * FROM test WHERE A='ab');

关于sql 插入时做判断 简单收集

在做用户模块或其他模块要求数据库唯一性的时候在插入数据需要先判断一下数据库中是否已经存在;

这条sql 最基础的插入语句,

```sql

```sql
INSERT INTO user(name,password) values(admin,123456)

下面将它改造成插入判断是否存在 #{参数}

```sql
INSERT INTO user(name, password)
SELECT #{admin},#{123456}
FROM DUAL WHERE NOT EXISTS
(SELECT name,password
FROM user WHERE name= #{admin} and password= # {123456});
``

这样就完成了,在查询返回值 =0 表示失败 = 1 表示成功

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • MySQL实战之Insert语句的使用心得

    一.Insert的几种语法 1-1.普通插入语句 INSERT INTO table (`a`, `b`, `c`, --) VALUES ('a', 'b', 'c', --); 这里不再赘述,注意顺序即可,不建议小伙伴们去掉前面括号的内容,别问为什么,容易被同事骂. 1-2.插入或更新 如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用"INSERT INTO - ON DUPLICATE KEY UPDATE -"语句: 情景示例:这张表

  • mysql插入前判断数据是否存在的操作

    业务场景:需要记入访客的访问情况,但不能重复记入 可以插入前进行判断要插入的数据是否存在业务代码如下 : INSERT INTO t_topic_vistor(user_id,topic_code) SELECT '218', 'XQ33019920170811142528217' FROM DUAL WHERE NOT EXISTS(SELECT * FROM t_topic_vistor WHERE user_id = 218 and topic_code='XQ33019920170811

  • mysql 记录不存在时插入 记录存在则更新的实现方法

    mysql 记录不存在时插入在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案. 问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢? 答案:可以通过使用 EXISTS 条件句防止插入重复记录. 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的

  • SQL insert into语句写法讲解

    方式1. INSERT INTO t1(field1,field2) VALUE(v001,v002);  明确只插入一条Value 方式2. INSERT INTO t1(field1,field2) VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402); 在插入批量数据时 方式2 优于 方式1. [特注]当 id 为自增,即  id INT PRIMARY KEY AUTO_INCREMENT 时,执行 insert into 语句,需要

  • 使用sql语句insert之前判断是否已存在记录

    目录 sql语句insert之前判断是否已存在记录 关于sql 插入时做判断 简单收集 sql语句insert之前判断是否已存在记录 INSERT INTO test(A,B) select 'ab',2 WHERE NOT EXISTS (SELECT * FROM test WHERE A='ab'); 关于sql 插入时做判断 简单收集 在做用户模块或其他模块要求数据库唯一性的时候在插入数据需要先判断一下数据库中是否已经存在; 这条sql 最基础的插入语句, ```sql ```sql I

  • replace MYSQL字符替换函数sql语句分享(正则判断)

    复制代码 代码如下: Update dede_addonsoft SET dxylink=REPLACE(dxylink, '.zip', '.rar') where aid > 45553; 复制代码 代码如下: update `table_name` set field = replace(field,'.rar','.7z'); table_name:要查询的表名, field:表里的字段名, replace(field,'.rar','.7z'); :正则匹配,把field字段里的 .r

  • 利用sql语句复制一条或多条记录

    insert into article (id,class,title,content) select id,'2',title,content from article where class='1' 如果id为自动编号,就把改为:  insert into article (class,title,content) select '2',title,content from article where class='1' 如果class为数字类型,则去掉单引号.

  • Oracle基础:通过sqlplus执行sql语句后的结果进行判断

    这篇文章介绍一下如何对sqlplus执行的sql语句结果进行判断. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm 常见问题 在sqlplus中执行sql语句,如果直接使用命令行的方式调用时会碰到两个问题: 问题1: 需要进行交互性的输入 问题2:结果的判断不能通过返回值来确认 解决方式 在脚本调用里,解决方式如下 问题1可以通过前文提到的Here Document来解决. 问题2

  • Mssql,Access的sql经典SQL语句大全

    下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建 数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份

  • SQL语句 操作全集 学习mssql的朋友一定要看

    SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device

  • 在mybatis执行SQL语句之前进行拦击处理实例

    比较适用于在分页时候进行拦截.对分页的SQL语句通过封装处理,处理成不同的分页sql. 实用性比较强. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.Properties; import org.apache.ibatis.e

  • mybatis教程之动态sql语句_动力节点Java学院整理

    有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.使用Oracle的序列.mysql的函数生成Id.这时我们可以使用动态sql. 下文均采用mysql语法和函数(例如字符串链接函数CONCAT). selectKey 标签 在insert语句中,在Oracle经常使用序列.在MySQL中使用函数来自动生成插入表的主键,而且需要方法能返回这个生成主键.使用myBatis的selec

  • SQL语句导入导出大全

    导出到excel  EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'导入Excel SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\test.xls";User 

  • SQL Server 的 SQL 语句导入导出大全

    MS SQL Server数据库SQL语句导入导出大全,包括与其他数据库和文件的数据的导入导出. /*******  导出到excel     EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'     /***********  导入Excel     SELECT *     FR

随机推荐