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:我不知道樓主為什么會(huì)有這樣的問題,在數(shù)據(jù)庫(kù)當(dāng)中每一條數(shù)據(jù)不應(yīng)該都是獨(dú)立的一條嗎,有它自己的特征才對(duì)。所以當(dāng)你WHERE sort_code=’SAMQLF’的時(shí)候很明顯的意思就是更新所有匹配的數(shù)據(jù)。你如果只是更新一條,那么更新的是哪一條?是不是應(yīng)該有它的特征才對(duì),所以你應(yīng)該把這個(gè)特征加上。如果你就是那么任性的要隨機(jī)更新匹配的一條,我的方案就是隨機(jī)查出sort_code=’SAMQLF’的一條記錄的ID,用ID來更新這條記錄。
剛剛看到了 @shuhai 的回答,感謝他讓我知道了還有這樣的語(yǔ)法,學(xué)藝不精- - |||用UPDATE LIMIT 1確實(shí)能解決樓主的問題。不過我還是推薦樓主應(yīng)該有明確的,比如只更新匹配的并且ID最大的一條UPDATE quan.hexiao_code SET sort_code=’LKUHFS’ WHERE sort_code=’SAMQLF’ ORDER BY id DESC LIMIT 1
相關(guān)文章:
1. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf2. mysql - 怎么生成這個(gè)sql表?3. mysql儲(chǔ)存json錯(cuò)誤4. php - 公眾號(hào)文章底部的小程序二維碼如何統(tǒng)計(jì)?5. mysql - 表名稱前綴到底有啥用?6. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決7. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?8. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?9. mysql - 數(shù)據(jù)庫(kù)建字段,默認(rèn)值空和empty string有什么區(qū)別 11010. sql語(yǔ)句 - 如何在mysql中批量添加用戶?
