mysql insert ignore(mysql中先判断数据是否存在,如存在则增加数量,不存在则增加一条记录)

本文目录
mysql中先判断数据是否存在,如存在则增加数量,不存在则增加一条记录
比如想往表中插入一条数据,如果表中没有该条数据才插入,如果已经存在该条数据就不插入。
首先,在创建表时,将不需要重复的字段设置为unique,然后在插入时,使用insert ignore语句。
例如:(数据库用的是mysql5)
创建一张表用来存储用户:
(
uid mediumint(10) unsigned NOT NULL auto_increment primary key,
last_name char(20) not null,
first_name char(20) not null,
unique ( last_name, first_name)
);
alter table anser add UNIQUE (last_name,first_name)
插入数据:
这样一来,如果表中已经存在last_name=’x’且first_name=’y’的数据,就不会插入,如果没有就会插入一条新数据。
——————注意,以上是我直接复制粘贴的信息,以下为原创
然后捕捉查询结果,如果确实已经执行了插入操作,那么就结束sql
否则,就执行一次update操作
这样的话,我觉得程序运行性能是较好的
在mysql中 ignore是什么意思
IGNORE是屏蔽错误提示用的
前几天做一个邮件验证系统时遇到一个问题,一个用户表,用户名是邮箱地址,并且是唯一索引。如果用户在更改资料是,改成其他用户的邮箱,就mysql运行sql 语句是会报错(确保用户邮箱的唯一性)。如果用IGNORE,则可以,屏敝错误,正常运行。
例:UPDATE ** IGNORE SET**
如果用作数据库中已经有了该条记录,刚mysql_affected_rows()返回0;
也可以用作INSERT
例:INSERT INTO ** IGNORE **

本文相关文章:
group by count(mysql 分组之后如何统计记录条数, gourp by 之后的 count)
2026年9月20日 12:40
mssqlserver(mssqlserver和sqlexpress的区别)
2026年9月14日 02:20
更多文章:
prison break(越狱(prison break)到底是在讲个什么)
2026年10月15日 06:50
c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)
2026年10月15日 06:40
十六进制转二进制表(16进制转为2进制、8进制、10进制的公式)
2026年10月15日 06:10
programdata是什么文件(win7下ProgramData 文件夹是什么,里面的内容可以删吗)
2026年10月15日 04:50
502错误的网关(“502错误网关,服务器作为网关或代理,从上游服务器收到了无效的响应”怎么处理谁能帮我)
2026年10月15日 04:10




