【问题标题】:Error Code: 1146. but Table does exist错误代码:1146。但表确实存在
【发布时间】:2013-03-29 23:12:15
【问题描述】:

在 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 上看到了其他一些类似的帖子,但没有找到适合我的解决方案。

【问题讨论】:

  • 我不在 Windows 上,没有使用 phpmyadmin,也没有复制数据库文件(从脚本创建新文件)。那里的解决方案对我没有帮助。
  • 您找到解决方案了吗?

标签: mysql osx-mountain-lion


【解决方案1】:

这个问题是关于 MySql 中表名和列名的大小写敏感问题,最值得注意的是变量lower_case_table_names,它可以为 MySql 服务器实例设置三个可能的值!

【讨论】:

    【解决方案2】:

    我们的团队在这个问题上几乎崩溃了。它最终从导致问题的应用程序中复制/粘贴查询。当我们重新输入查询时,它可以正常工作,但通过信使应用共享查询会导致未确定的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 2014-05-29
      相关资源
      最近更新 更多