現有一個表T1,里面有欄位和內容如下:
ip mac dep loca user time
12 aa xx xx xx 2019
其中ip,mac,dep,loca,user為合并唯一(因為我需要的是,這五項隨便一項有改變,都要新建一條資料予以區分),即
ALTER TABLE `T1` ADD UNIQUE( `ip`, `mac`, `dep`, `loca`, `user`);
我在操作的程序中,如果改變了以上五項的其中一項(無法確定改變的是哪項),我用ON DUPLICATE KEY UPDATE來寫的話,其他的四項如何用回沒改變前資料
即假設現在dep改變了,變成ff,用ON DUPLICATE KEY UPDATE會自動增加一條記錄,但增加的記錄其他四項要不是空值,要不是默認值,我該如何取回資料上的值(即ip=12,mac=aa,loca=xx,user=xx,time=2019)?
感謝~
uj5u.com熱心網友回復:
如果ON DUPLICATE KEY UPDATE不能寫,用其他陳述句都可以,只要能完成以上操作即可。uj5u.com熱心網友回復:
直接INSERT不就行了么,除了改變的一項,其它項都直接查原有的資料轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/21524.html
標籤:MySQL
下一篇:在線等待一個SQL 高分速度結貼
