2017-09-27 1 views
0

私は本番用のmysqlデータベースを更新していましたが、驚いたことに私は壊れたwhere節のためにテーブル全体を更新しました。ボッチテーブルと同じくらい悪い部分を修正しました

update users where userid-123 

の代わりに、私はダッシュ文字を使用して、テーブル全体が更新された等号を使用して:

私のクエリは次のように見えました。

これはなぜ正確に実行されましたか?エラーではありませんか?

私は、MySQLのようにそれを翻訳推測:the documentationによると

update users where true 

答えて

0

MySQLはTRUEにゼロ以外の、非NULL値を評価します。

だからここに何が起こったのか、減算演算にNULL以外のuseridと123

ですべての行に対して真と解釈され、その結果を結果 userid-123です
関連する問題