12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-11-26 22:17:01
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
REPLACE类似INSERT,会以主键或唯一索引为条件,如果插入行的主键或唯一键在表中已经存在,旧的记录会被更新;如果插入行的主键或唯一键在表中不存在,会插入这一条记录。REPLACE是My
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
REPLACE类似INSERT,会以主键或唯一索引为条件,如果插入行的主键或唯一键在表中已经存在,旧的记录会被更新;如果插入行的主键或唯一键在表中不存在,会插入这一条记录。REPLACE是MySQL对SQL标准的扩展。
示例①,第二条记录由于和第一条记录的主键相同,第一条记录会被更新
CREATETABLEtest(idINTUNSIGNEDNOTNULLAUTO_INCREMENT,dataVARCHAR(64)DEFAULTNULL,tsTIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,PRIMARYKEY(id));
mysql>REPLACEINTOtestVALUES(1,'Old','2014-08-2018:47:00');QueryOK,1rowaffected(0.04sec)mysql>REPLACEINTOtestVALUES(1,'New','2014-08-2018:47:42');QueryOK,2rowsaffected(0.04sec)mysql>SELECT*FROMtest;
+----+------+---------------------+|id|data|ts|+----+------+---------------------+|1|New|2014-08-2018:47:42|+----+------+---------------------+1rowinset(0.00sec)
示例②,第二条记录的主键和第一条记录的主键不相同,会将第二条记录插入到表中,并保留第一条记录
CREATETABLEtest2(idINTUNSIGNEDNOTNULLAUTO_INCREMENT,dataVARCHAR(64)DEFAULTNULL,tsTIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,PRIMARYKEY(id,ts));
mysql>REPLACEINTOtest2VALUES(1,'Old','2014-08-2018:47:00');QueryOK,1rowaffected(0.05sec)mysql>REPLACEINTOtest2VALUES(1,'New','2014-08-2018:47:42');QueryOK,1rowaffected(0.06sec)mysql>SELECT*FROMtest2;
+----+------+---------------------+|id|data|ts|+----+------+---------------------+|1|Old|2014-08-2018:47:00||1|New|2014-08-2018:47:42|+----+------+---------------------+2rowsinset(0.00sec)
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19