mysql - 密码哈希函数抛出错误 1146

标签 mysql mysql-workbench

我有这样的问题

UPDATE `database`.`user` 
SET `Password`=Password("test1234!@#$") 
WHERE `UserID`='1234';

我运行了一次,它更新了密码。我在测试中更改了 t 的大小写,它开始失败并显示消息

Error Code: 1146. Table 'database.Unknown' doesn't exist.

经过一些实验,我发现删除字符串中的 $ 可以使查询成功运行。我试图用/转义字符,但错误仍然发生。该列的排序规则是 utf8,它是 varchar(50)

查询本身正在 MySQL Workbench 5.2.47MySQL version 5.1.62 Community Edition 中执行。

谁能告诉我为什么 $ 很麻烦。

编辑:现在发生时没有任何特殊字符。我也知道有更安全的散列密码方法。我现在很好奇为什么会出现特定错误。

最佳答案

首先从workbench中扣除问题: 从命令提示符(mysql -u 用户名 -pPassword -h 主机名)或使用 phpmyadmin 登录,然后尝试执行查询。

如果可行,那就是工作台。

然后您可能首先想删除工作台中所有已配置的连接设置并重新添加它们。这可能已经解决了您的问题。

如果问题仍然存在,您可以尝试重新安装工作台。

关于mysql - 密码哈希函数抛出错误 1146,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15815886/

相关文章:

mysql - 有条件的重复 key 更新

php - 从获取变量中选择语法

mysql - 使用asp.net和c#将图像存储到byte[]到Mysql中

mysql - 如何使用以下和跟随者示例在 sequelize 中加入两次单个表

MYSQL 数据库位置 Windows 10 PC

php - 如何从表中取出所有条目?

mysql - 如何将数据导入 MySQL 模型 (EER)?

mysql - 更改 SQL 表中的日期格式

mysql - 用于导出的 INTO OUTFILE 查询在本地驱动器上不起作用

mysql - 如何修复sequelize 连接错误?