REPLACE INTO使用简介

来源:互联网 发布:冰封王座不能连入网络 编辑:程序博客网 时间:2024/06/05 09:14
REPLACE的运行与INSERT很相似。
只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。
CREATE TABLE `Tickets64` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`stub` CHAR(1) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE INDEX `stub` (`stub`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
INSERT INTO Tickets64(stub) values ('A');

查询表中数据,结果如下:
mysql> select * from Tickets64 ;
+----+------+
| id | stub |
+----+------+
| 40 | A    |
+----+------+
1 row in set (0.00 sec)

使用REPACLE INTO向表中添加一条记录,如下:
mysql> replace into Tickets64 (stub) VALUES ('A');
mysql> select * from  Tickets64; 
+----+------+
| id | stub |
+----+------+
| 41 | A    |
+----+------+
1 row in set (0.00 sec)
之前的id为40的记录被删掉了,更新增了一条记录。
原创粉丝点击