mysql 怎么做到update只更新一行数据?
黄舟
黄舟 2017-04-17 15:25:20
0
2
823

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

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(2)
小葫芦

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

いいねを押す +0
大家讲道理

投稿者がなぜそのような問題を抱えているのかわかりません。データベース内の各データは独立した部分であり、独自の特性を持つべきではないでしょうか?したがって、WHERE sort_code='SAMQLF' を実行すると、一致するすべてのデータが更新されることは明らかです。 1 つの項目だけを更新する場合、どの項目を更新しますか? 機能がある場合は、この機能を追加する必要があります。
あなたが故意に一致するレコードをランダムに更新したい場合、私の解決策は、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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート