在做網站開發的時候,有的時候需要對某些字段進行唯一性的限制,然後就回產生以下的需求
當數據庫中某個字段是唯一的時候,當再次插入同樣的數據是,進行更新操作
語法: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)