2011-04-15 61 views
0

我有一个绝对没有意义的外键问题。所有常规的原因都无法解决问题,而我很茫然。我认为问题的关键在于其中一条错误消息是报告表'#sql-44a5_1bc'。有人知道这是什么吗?是什么创造了它?这只是一个实际表的隐藏名称?在Mysql 5.1中,什么样的表名看起来像“#sql-44a5_1bc”?

这也是我的外键问题,如果你觉得要帮忙。它仍然没有解决,因为这是一个生产数据库,这是一个很大的问题:

Problem adding Foreign Key using Alter Table with existing MYSQL Database - can't add it! Help!

+0

建议:开始**赏金**为您的[FK]问题(http://goo.gl/GdBpb)。你一定会得到答案 – diEcho 2011-04-15 08:40:41

回答

2

我想这是ALTER TABLE过程中创建的临时表。当我尝试添加一个fk约束到一个表时,我见过类似的东西。表中的数据违反了我试图添加的约束,并且错误消息引用了与您提到的类似的表名。

See MySQL-Docs

在大多数情况下,ALTER TABLE使得原表的临时副本。 MySQL将更改合并到副本中,然后删除原始表并重命名新副本。

+0

是的,我有同样的错误。我通常只是有点哭,重新开始。这解释了为什么,谢谢。 – Johan 2011-04-15 10:22:55

相关问题