MySQL數據庫之插入數據時的主鍵沖突


插入數據時的主鍵沖突

  • 如果插入的主鍵重復會報錯
-- 插入測試表
mysql> create table stu(
    -> id char(4) primary key,
    -> name varchar(20)
    -> )engine=innodb;
# `Query OK, 0 rows affected (0.06 sec)`

-- 插入測試數據
mysql> insert into stu values ('s001','tom');
# `Query OK, 1 row affected (0.00 sec)`
  • 如果插入的主鍵重復就執行替換
-- 原理:如果插入的主鍵不重復就直接插入,如果主鍵重復就替換(刪除原來的記錄,插入新記錄)
mysql> replace into stu values('s002','ketty');
# `Query OK, 2 rows affected (0.00 sec)`
  • on duplicate key update
    • 當插入的值與主鍵或唯一鍵有沖突執行update操作
-- 插入的數據和主鍵或唯一鍵起沖突,將s002的name字段改為‘李白’
mysql> insert into stu values ('s002','李白') on duplicate key update name='李白';
# `Query OK, 2 rows affected (0.00 sec)`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM