有人知道1146: Table '<database>.<table>' doesn't exist您的表确实存在时,在什么条件下会收到错误?
1146: Table '<database>.<table>' doesn't exist
我在5台服务器上使用了相同的代码,但我最近租用的服务器上只有一个显示此错误,因此我怀疑这可能是某种设置或安装错误。我可以从命令行执行我的sql语句。很显然,我也可以从命令行查看该表。建立连接时,我没有任何连接错误(我正在使用mysqli,btw)。
任何帮助,将不胜感激。
确切查询:
$sql = "SELECT DISTINCT(mm_dic_word) AS word FROM spider.mm_dictionary WHERE mm_dic_deleted=0";
基本上,我认为我遇到的问题是由于密码哈希长度不同。就我而言,我有一个新服务器,在其上进行了完整的mysql转储,还传输了密码和用户信息。新服务器已经使用具有16个字符长度的哈希值的root用户进行了初始化,但是我的旧服务器正在使用较新的32个字符哈希值的长度。
我必须进入my.conf,将旧密码设置为0(否则,每次尝试更新数据库时,新更新的长度为16个字符)。然后UPDATE mysql.user SET password=PASSWORD('password here');,我通过命令将所有密码更新为相同的密码,然后刷新特权。
UPDATE mysql.user SET password=PASSWORD('password here');
显然,让每个用户都使用相同的密码是一个非常糟糕的主意,因此在确认它可以正常工作之后,我逐个更改了密码。
在我尝试此解决方案之前,我输入了一个博客条目,该条目涉及我在这里所做的其他一些不起作用的事情(以防万一这些更改中的一个或多个影响了我的结果),但是,我认为以上解决方案是完整的…但是我没有尝试重现该错误,所以我不能百分百确定。