为什么我得到一个表不存在错误的表存在?

时间:2014-12-16 14:28:34

标签: mysql sql

我正在运行一个简单的更新声明:

UPDATE sometab
SET `somefield1` = '19',
    `somefield2` = '3734941'
WHERE somefield3 = '1234';

我收到错误:

ERROR 1146 (42S02): Table 'prod._sometab_new' doesn't exist

我可以从somefield3为1234的表中成功选择。 为什么我得到一个表并不存在存在的表的错误?为什么错误消息引用不同的表?我没有看到与该表相关的任何触发器。

附加信息:一位同事刚刚注意到它指的是一个prod方案,但该语句是在一个由prod构建的dev模式中运行的。 update语句在几天前使用相同方法构建的DB中工作,但是在一些未知时间之后构建的所有DB都会出现错误。

2 个答案:

答案 0 :(得分:0)

目前的理论是,目前正在运行转换脚本以将我们转移到UTF-8,并创建像_ORIG_new这样的表作为其转换的一部分。我们将等待转换脚本完成,然后重建dev数据库并查看错误是否仍然存在。

答案 1 :(得分:0)

如果您还尝试插入或删除语句,是否会发生这种情况?

插入INTO sometab(somefield1,somefield2)VALUES(a,b)。

如果可行,您可能不会遇到问题,否则您在访问数据库时遇到问题。

其次,您确定使用的是正确的数据库文件,并且是否正确连接到该文件。如果您在外部应用程序(c#)中使用它,请检查连接字符串。

还要检查您是如何执行查询的。我想不出其他更具体的问题解决方案