首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL创建表错误-表不存在

问MySQL创建表错误-表不存在
EN

Stack Overflow用户
提问于 2013-08-03 15:41:11
回答 3查看 42.6K关注 0票数 14

我是MySQL新手,如果我试图在新创建的数据库“推荐”中创建一个表,就会出现以下错误:

错误1146 (42S02):表'recommend.Users‘不存在

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

代码语言:javascript
复制
SELECT DATABASE() FROM DUAL;

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

| DATABASE() |

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

| recommend  |

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

1 row in set (0.00 sec)

但是当我运行这个命令时:

代码语言:javascript
复制
mysql> use recommend
Database changed

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

错误1146 (42S02):表'recommend.Users‘不存在

我也尝试使用Navicat,但仍然得到相同的错误:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-03 16:03:20

这看起来像一个数据字典问题。您可以通过检查错误日志获得更多信息。(请参阅MySQL docs 这里)。

可能你有一张孤儿的桌子。如果是这样,解决方案是在不同的数据库中创建同名表,然后将.frm文件复制到当前数据库。然后您可以对表进行DROP,然后后续的CREATE就会成功。有关解决这类问题的更多详细信息,请参阅这里。

票数 7
EN

Stack Overflow用户

发布于 2015-07-19 02:45:42

我也有同样的问题。实际上,在我幸运地找到一个简单的解决方案之前,我读过这篇文章。我试图删除我的表,它起了作用,在您的例子中,您的表是用户:

丢表用户;

该表不存在,因此MySQL自然会抱怨:

错误代码: 1051。未知表“用户”

但是,我再次运行了CREATE语句,它成功了。希望其他人每次都能验证这一点吗?比查看错误日志要容易得多,特别是如果您不是最伟大的DBA/System /Hacker。

票数 16
EN

Stack Overflow用户

发布于 2018-06-04 02:08:00

问题是..。你有一个带有"InnoDB引擎“的数据库.我的解决办法是..。你一定有一个"MyISAM引擎“,怎么换?在您的环境中查找可能与

代码语言:javascript
复制
# find / -name my.cnf

在LINUX上,只需将以下行添加到

代码语言:javascript
复制
vim /etc/mysql/my.cnf 

添加:

代码语言:javascript
复制
default-storage-engine= MyISAM

然后重新启动mysql:

代码语言:javascript
复制
service mysql restart
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18034485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档