在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上看到了其他一些类似的帖子,但是没有找到适合我的解决方案。
答案 0 :(得分:2)
这个问题与MySql中的表名和列名的区分大小写有关 - 最值得注意的是可以为具有三个可能值的MySql服务器实例设置的变量lower_case_table_names
!
答案 1 :(得分:0)
我们的团队在这个问题上几乎崩溃了。最终导致将查询复制/粘贴到导致该问题的应用程序之外。当我们在其中重新输入查询时,它可以正常工作,但是在Messenger应用上共享查询会导致不确定的行为。