如果插入數據主鍵重復或數據已經存在,顯然需要更新這條數據
一、大家在做數據庫相關操作的時候,應該經常會遇到當一條數據不存在的時候,插入這條數據。但是如果這條數據的主鍵已經在,並且數據已經填充好時,那么怎么才能更新這條數據呢?xiao
可能大部分人第一時間想到是先插入,然后判斷主鍵是否存在,不存在就插入,存在就執行
更新語句,這種做法是最容易想到的,也算對,但是弊端很大,首先你需要寫兩條sql語句,這樣
的話就需要兩次連接數據庫服務器,然后利用高級語言來判斷是否存在的邏輯。顯然效率很低!那么
有什么一勞永逸的好方法呢?
下面教你一條SQL語句,教你解決這類問題!
sql = "insert into douyin (user_name,user_id,profile,prasied_number,focus_number,fans_number,avatar,work_image) values (%s,%s,%s,%s,%s,%s,%s,%s)
ON DUPLICATE KEY UPDATE user_name='$user_name',profile='$profile',prasied_number='$prasied_number',focus_number='$focus_number',fans_number='$fams_number',avatar='$avatar',work_image='$work_image'"
ON DUPLICATE KEY UPDATE(當出現DUPLICATE KEY主鍵重復錯誤的時候觸發Update操作,當然要求就是表在設計的時候一定要有主鍵primary key)