• ADADADADAD

    MySQL 5.7中REPLACE语句怎么用[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:17:01

    作者:文/会员上传

    简介:

    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)
    MySQL 5.7中REPLACE语句怎么用.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlreplace