我正在运行一个简单的更新声明:
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都会出现错误。
答案 0 :(得分:0)
目前的理论是,目前正在运行转换脚本以将我们转移到UTF-8,并创建像_ORIG_new这样的表作为其转换的一部分。我们将等待转换脚本完成,然后重建dev数据库并查看错误是否仍然存在。
答案 1 :(得分:0)
如果您还尝试插入或删除语句,是否会发生这种情况?
插入INTO sometab(somefield1,somefield2)VALUES(a,b)。
如果可行,您可能不会遇到问题,否则您在访问数据库时遇到问题。
其次,您确定使用的是正确的数据库文件,并且是否正确连接到该文件。如果您在外部应用程序(c#)中使用它,请检查连接字符串。
还要检查您是如何执行查询的。我想不出其他更具体的问题解决方案