こんな問い合わせがあります
UPDATE `database`.`user`
SET `Password`=Password("test1234!@#$")
WHERE `UserID`='1234';
これを一度実行したところ、パスワードが正常に更新されました。テストで t の大文字と小文字を変更したところ、メッセージで失敗し始めました
エラー コード: 1146。テーブル 'database.Unknown' は存在しません。
いくつかの実験の後$
、文字列内の を削除すると、クエリが正常に実行されることがわかりました。/ で文字をエスケープしようとしましたが、それでもエラーが発生しました。列の照合は でutf8
あり、それはvarchar(50)
です。
クエリ自体は、Community Edition で実行されていMySQL Workbench 5.2.47
ますMySQL version 5.1.62
。
$ が面倒な理由を教えてください。
編集:特殊文字なしで発生しています。また、パスワードをハッシュするより安全な方法があることも認識しています。この時点で、特定のエラーが発生している理由に興味があります。