亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

On Duplicate Key Update與insert相同

On Duplicate Key Update與insert相同

jeck貓 2019-08-27 11:10:36
On Duplicate Key Update與insert相同我已經四處搜索,但沒有找到是否可能。我有這個MySQL查詢:INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)字段ID具有“唯一索引”,因此不能有兩個?,F在,如果數據庫中已存在相同的ID,我想更新它。但我真的必須再次指定所有這些字段,例如:INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8) ON DUPLICATE KEY UPDATE a=2,b=3,c=4,d=5,e=6,f=7,g=8要么:INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8) ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g)我已經在插入中指定了所有內容......一個額外的說明,我想使用工作來獲取ID!id=LAST_INSERT_ID(id)我希望有人能告訴我最有效的方法是什么。
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

UPDATE給出該語句,以便可以將舊字段更新為新值。如果您的舊值與新值相同,為什么在任何情況下都需要更新它?

例如。如果你的列ag已經被設置為28; 沒有必要重新更新它。

或者,您可以使用:

INSERT INTO table (id,a,b,c,d,e,f,g)VALUES (1,2,3,4,5,6,7,8) ON DUPLICATE KEY
    UPDATE a=a, b=b, c=c, d=d, e=e, f=f, g=g;

要獲得idLAST_INSERT_ID; 您需要指定您正在使用的后端應用程序。

對于LuaSQL,conn:getlastautoid()獲取值。


查看完整回答
反對 回復 2019-08-27
  • 3 回答
  • 0 關注
  • 886 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號