mysql自己的插入更新方法--on duplicate key update。
例如:建立表create table test_t (id int primary key, name varchar(255));
插入一條資料:insert into test_t values(0,'first');
查詢資料結果如圖:
此時,如果執行語句:insert into test_t values (0,'second') on duplicate key update name = 'second';得到的結果就是把原來id為0的記錄中,name欄位修改為second。
再次查詢資料,結果如圖:
注意:on duplicate key update 會同時受到所有鍵約束影響,如果name欄位設定為唯一約束,同樣會生效。
此時執行語句insert into test_t values (1,'second') on duplicate key update name = 'third';
查詢結果如圖:
所以,這個方法的作用條件是如果有約束條件導致插入語句失敗,則修改影響插入語句的那條記錄。
MySQL批量更新語句
update mytable set myfield case id when 1then value when 2then value when 3then value endwhere id in 1,2,3 例如 update categories set display order case...
MYSQL 更新語句報錯
相同的語句 查詢的時候沒有問題,轉換成功更新語句就報錯,錯誤資訊 truncated incorrect double value 21700 21800 查詢sql如下 select dcf.id as flightid,p.ratio match as ratiomatch from der c...
mysql語句更新 mysql的更新語句怎麼寫
1.mysql更新資料語句怎麼寫 if mysql num rows rs 0 else 當有記錄 foreach user info as arr mysql update k99 set nickname arr nickname where id arr id 更新表 切記要加where條件,...