我有这样的查询
UPDATE `database`.`user`
SET `Password`=Password("test1234!@#$")
WHERE `UserID`='1234';
我运行了一次,它更新了密码。我在测试中更改了 t 的大小写,它开始失败并显示消息
错误代码:1146。表 'database.Unknown' 不存在。
经过一些实验,我发现删除$
字符串中的 允许查询成功运行。我试图用 / 转义字符,但错误仍然发生。列上的排序规则是utf8
,它是varchar(50)
。
查询本身MySQL Workbench 5.2.47
在MySQL version 5.1.62
Community Edition 中执行。
谁能告诉我为什么美元很麻烦。
编辑:它现在正在发生,没有任何特殊字符。我也知道有更安全的方法来散列密码。在这一点上,我只是好奇为什么会发生特定错误。