mysql 怎么做到update只更新一行數(shù)據(jù)?
問題描述
UPDATE quan.hexiao_code SET sort_code=’LKUHFS’ WHERE sort_code=’SAMQLF’;
這句話的where部分有兩條記錄,我只想修改其中一條,該怎么寫?
問題解答
回答1:UPDATE quan.hexiao_code SET sort_code=’LKUHFS’ WHERE sort_code=’SAMQLF’ limit 1;
回答2:我不知道樓主為什么會有這樣的問題,在數(shù)據(jù)庫當中每一條數(shù)據(jù)不應該都是獨立的一條嗎,有它自己的特征才對。所以當你WHERE sort_code=’SAMQLF’的時候很明顯的意思就是更新所有匹配的數(shù)據(jù)。你如果只是更新一條,那么更新的是哪一條?是不是應該有它的特征才對,所以你應該把這個特征加上。如果你就是那么任性的要隨機更新匹配的一條,我的方案就是隨機查出sort_code=’SAMQLF’的一條記錄的ID,用ID來更新這條記錄。
剛剛看到了 @shuhai 的回答,感謝他讓我知道了還有這樣的語法,學藝不精- - |||用UPDATE LIMIT 1確實能解決樓主的問題。不過我還是推薦樓主應該有明確的,比如只更新匹配的并且ID最大的一條UPDATE quan.hexiao_code SET sort_code=’LKUHFS’ WHERE sort_code=’SAMQLF’ ORDER BY id DESC LIMIT 1
相關文章:
1. boot2docker無法啟動2. docker-compose中volumes的問題3. node.js - antdesign怎么集合react-redux對input控件進行初始化賦值4. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.5. 關于docker下的nginx壓力測試6. java - SSH框架中寫分頁時service層中不能注入分頁類7. dockerfile - 為什么docker容器啟動不了?8. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””9. 老師,按tab鍵不起作用怎么回事10. mac里的docker如何命令行開啟呢?

網(wǎng)公網(wǎng)安備