찾다

 >  Q&A  >  본문

mysql 怎么做到update只更新一行数据?


UPDATE quan.hexiao_code SET sort_code='LKUHFS' WHERE sort_code='SAMQLF';

这句话的where部分有两条记录,我只想修改其中一条,该怎么写?

黄舟黄舟2898일 전836

모든 응답(2)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-17 15:27:20

    quan.hexiao_code SET sort_code='LKUHFS' WHERE sort_code='SAMQLF' 제한 1 업데이트;

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:27:20

    포스터에 왜 이런 문제가 있는지 모르겠습니다. 데이터베이스의 각 데이터는 독립적이고 고유한 특성을 가져야 하지 않나요? 따라서 WHERE sort_code='SAMQLF' 이는 일치하는 모든 데이터를 업데이트하는 것을 의미합니다. 하나의 항목만 업데이트하는 경우 어떤 항목을 업데이트합니까? 기능이 있어야 하므로 이 기능을 추가해야 합니다.
    만약 당신이 너무 고의적이고 일치하는 레코드를 무작위로 업데이트하고 싶다면 내 해결책은 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

    회신하다
    0
  • 취소회신하다