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

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

语法: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)