密码哈希函数抛出错误1146

时间:2013-04-04 15:49:11

标签: mysql mysql-workbench

我有这样的查询

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

我跑了一次,它更新了密码。我在测试中改变了t的情况,并且它开始失败并显示消息

  

错误代码:1146。表'database.Unknown'不存在。

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

查询本身正在MySQL Workbench 5.2.47MySQL version 5.1.62社区版上执行。

任何人都可以告诉我为什么$很麻烦。

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

2 个答案:

答案 0 :(得分:1)

首先从工作台中扣除问题: 从命令提示符(mysql -u Username -pPassword -h hostname)或phpmyadmin登录,然后尝试执行查询。

如果有效,那就是工作台。

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

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

答案 1 :(得分:0)

结束了存在其中的触发器

INSERT INTO Unknown VALUES(1);

我不知道这是什么目的,但显然导致了这个问题。感谢大家的帮助。