程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> SQL:插入更新主鍵相同的行的所有其他列,sql主鍵

SQL:插入更新主鍵相同的行的所有其他列,sql主鍵

編輯:MySQL綜合教程

SQL:插入更新主鍵相同的行的所有其他列,sql主鍵


在寫SQL中,我們經常遇到這樣一類問題。每一次插入的時候都要判斷數據表中是不是已經存在這條數據,所謂相同數據,是除了主鍵以外全部列都相同,沒有則插入,有則更新。在這種情境下,我們並不清楚知道這一列是否存在,所以單純的插入和更新都有問題,於是有的人選擇了刪掉對應id,然後全部重新插入,這裡遇到的問題就是,主鍵自增,刪掉了會產生巨大空洞,並不是個好的設計。

 

在MySQL下,我采用的方法是:

insert into case_law (case_id,laws_id) (select 1,2 from dual where not EXISTS (select case_id,laws_id from case_law where case_id=1 and laws_id=2)

如上簡單手段就可實現插入的時候檢查是否存在。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved