mysql避免重复插入记录方法

在做网站开发的时候,有的时候需要对某些字段进行唯一性的限制,然后就回产生以下的需求

当数据库中某个字段是唯一的时候,当再次插入同样的数据是,进行更新操作

语法:REPLACE INTO tablename(column) values (values)

下面来看一下样例

1、创建表

mysql>create table t1(id int primary key auto_increment ,

name varchar(32)

);

2、创建唯一索引

mysql>CREATE UNIQUE INDEX nameindex ON t1(name);


3、插入测试数据

mysql>insert into t1(name) values (‘test‘);


技术分享

mysql> select * from t1;

+----+------+

| id | name |

+----+------+

|  1 | test |

+----+------+

1 row in set (0.00 sec)

4、测试

mysql> replace into t1(name) values (‘test‘);

Query OK, 2 rows affected (0.00 sec)


mysql> select * from t1;

+----+------+

| id | name |

+----+------+

|  2 | test |

+----+------+

1 row in set (0.01 sec)

看见效果了吧,当插入新的数据时,把旧的数据更新掉,如果要忽略新的数据,则使用IGNORE

语法 INSERT IGNORE tablename(column) values (values)

本文出自 “Jeff” 博客,请务必保留此出处http://zhangxz.blog.51cto.com/5490116/1602720

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。