错误代码:1146。但表确实存在

时间:2013-04-08 00:22:02

标签: mysql osx-mountain-lion

在OSX 10.8.3上使用MySql 5.5.20

我正在使用相同的主要版本(5.5)从另一台服务器恢复mysql转储 有一堆表CREATE和INSERT语句,然后最后定义了一些触发器。

执行行时:

/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ 
/*!50003 `TRIGGER delete_po_items AFTER DELETE ON CRM_PURCHASEORDER   
FOR EACH ROW BEGIN  DELETE FROM CRM_PO_ITEM 
 where CRM_PO_ITEM.PURCHASEORDER_ID = OLD.PURCHASEORDER_ID; END */

我收到错误:

Error Code: 1146. Table 'crm.CRM_PURCHASEORDER' doesn't exist`

但表CRM_PURCHASEORDER 确实 存在.. 它甚至有大约2000行数据。

由于IP问题,我无法发布原始转储,而且我没有运气再现最小的测试用例。

任何可能导致此问题的提示?我在SO上看到了其他一些类似的帖子,但是没有找到适合我的解决方案。

2 个答案:

答案 0 :(得分:2)

这个问题与MySql中的表名和列名的区分大小写有关 - 最值得注意的是可以为具有三个可能值的MySql服务器实例设置的变量lower_case_table_names

答案 1 :(得分:0)

我们的团队在这个问题上几乎崩溃了。最终导致将查询复制/粘贴到导致该问题的应用程序之外。当我们在其中重新输入查询时,它可以正常工作,但是在Messenger应用上共享查询会导致不确定的行为。