在做网站开发的时候,有的时候需要对某些字段进行唯一性的限制,然后就回产生以下的需求
当数据库中某个字段是唯一的时候,当再次插入同样的数据是,进行更新操作
语法: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)