zoukankan      html  css  js  c++  java
  • MySQL replace into (insert into 的增强版)

    在使用SQL语句进行数据表插入insert操作时,如果表中定义了主键,插入具有相同主键的记录会报错:

       Error Code: 1062. Duplicate entry 'XXXXX' for key 'PRIMARY'(主键冲突)

      这样我们只好检查主键是不是存在,若存在则更新,若不存在则插入。或者写SQL流程控制语句(if...else...)

    Mysql提供了replace into跟insert into的功能一样。不同点在于:

      如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。否则,直接插入新数据。

      注意:因为要根据主键或者是唯一索引判断是否有重复数据,所以操作的表必须要有主键或者是唯一索引。否则的话,replace into 会直接插入数据。

    Mysql replace into用法有三种,最简单的一种用法就是直接将 "insert" 关键字替换为"replace"就可以啦。

      insert into t(... , ...) values(... , ...)

       修改为

      replace into t(... , ...) values(... , ...)

  • 相关阅读:
    POJ 2723 Get Luffy Out(2-SAT)
    ZOJ 3613 Wormhole Transport
    HDU 4085 Peach Blossom Spring
    NBUT 1221 Intermediary
    NBUT 1223 Friends number
    NBUT 1220 SPY
    NBUT 1218 You are my brother
    PAT 1131. Subway Map (30)
    ZSTU OJ 4273 玩具
    ZSTU OJ 4272 最佳淘汰算法
  • 原文地址:https://www.cnblogs.com/xudong-bupt/p/3948162.html
Copyright © 2011-2022 走看看