2013-08-03 71 views
7

我是MySQL的新手,我遇到了问题,如果我尝试在我新创建的数据库“推荐”中创建表,我得到以下错误:MySQL创建表错误 - 表不存在

ERROR 1146 (42S02): Table 'recommend.Users' doesn't exist

我检查了这里和互联网上的相关帖子,但没有任何帮助。 如果我使用MySQL命令行,我仍然会得到相同的错误。

SELECT DATABASE() FROM DUAL; 

+------------+ 

| DATABASE() | 

+------------+ 

| recommend | 

+------------+ 

1 row in set (0.00 sec) 

但后来当我运行此命令:

mysql> use recommend 
Database changed 

mysql> CREATE TABLE Users (UserName VARCHAR(20),password VARCHAR(20),PRIMARY KEY(UserName)); 

ERROR 1146 (42S02): Table 'recommend.Users' doesn't exist

我也用的Navicat,仍然得到同样的错误:(

回答

4

这看起来像一个数据字典的问题尝试。你可以通过检查错误日志获得更多信息(参见MySQL文档here)。

可能你有一张孤儿桌子。如果是这样,解决方案是在不同的数据库中创建一个同名的表,然后将.frm文件复制到当前数据库。那么你可以DROP这个表格,然后CREATE应该成功。有关排除此类问题的更多详细信息,请参阅here

+0

我刚刚卸载了mysql服务器并删除了旧表,现在解决了这个问题。 –

+0

感谢tonns的帮助:)干杯:) –

+0

@AmitP是stackoverflow你说“谢谢”通过投票/接受答案。请参阅http://stackoverflow.com/help/someone-answers –

8

我遇到了同样的问题。实际上,在我用一个简单的解决方案幸运之前,我阅读了这个线程我试图将我的表格和它的工作,你的情况你的表是用户:

DROP TABLE Users;

该表不存在,所以很自然的MySQL抱怨:

Error Code: 1051. Unknown table 'Users'

但后来我跑我的CREATE TABLE声明再次,它的工作。希望其他人每次都能验证这个作品?比去错误日志容易得多,特别是如果你不是最伟大的DBA /系统管理员/黑客。

+0

比在文件系统中混淆更容易!谢谢! – Michael

+0

适合我。谢谢 – bam

+0

也为我工作。万一你不关心表数据备份的优雅方式。 – sba