我正在尝试在我的数据库名称symfony中导入此sql
CREATE TABLE IF NOT EXISTS ingredient (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我得到了
#1146 - Table 'symfony.ingredient' doesn't exist
这似乎很奇怪,因为我在这里尝试创建这个表,所以...为什么它不起作用? 如果我尝试
,我也会遇到同样的问题CREATE TABLE symfony.ingredient
或symfony 2中的功能
c:\Dev\Symfony>php app/console doctrine:schema:create
PS:我只有xampp的新版本才有这个问题。
修改
好吧,我设法解决了我的问题。 我删除了我的数据库,然后创建了一个(不使用接口),最后我重新启动了mysql服务。 我不知道为什么以及如何解开我,但我希望这会对某人有所帮助。
答案 0 :(得分:15)
我遇到了同样的问题。 我的解决方案 在create table query中更改表名,对其进行exequte,然后重命名该表。
然后,您也可以删除此表,然后创建它而不会出错。
答案 1 :(得分:9)
对我有用的是:
.frm
文件。空表缺少文件.MYD
和.MYI
。 .frm
文件。旧版本的xampp以MyISAM格式创建表格,新版本为InnoDB!
答案 2 :(得分:1)
我有同样的问题。我有一台服务器消失了#34;创建表时的消息,之后我得到表并不存在消息,但我无法尝试重新创建表,因为之后我收到一条消息,说它已经存在。我通过在命令行执行此操作来解决它:
mysqlcheck --repair --all-databases -u root -p
在此之后重启mysql服务器也不会有什么坏处。以防万一。
答案 3 :(得分:0)
嗯,你确定你有一个数据库,并且有权使用CREATE语句。
如果你有phpmyadmin:
要测试第一个可能性,请创建一个新的(空)测试数据库,在菜单中单击它 然后按顶部导航中的SQL按钮并再次复制粘贴语句。如果这不起作用,请尝试第二个。
对于第二个,您可以单击“主页”按钮,然后转到“权限”。如果只有两个或三个帐户,但都具有root权限,则您具有执行CREATE的权限。否则,您可以检查您的帐户并给自己权限。
如果两种可能性都没有解决,我也不知道。它对我来说很好:(
答案 4 :(得分:0)
我遇到了同样的问题:#1146 - 表'tutsplus_ci.posts'不存在。我按照以下步骤解决了这个问题:
我在sql文件中导出了有罪的表。我注意到.sql文件中的表名有一个假的尾随空格。 我在表格的“操作”部分切换回phpmyadmin,然后将表格从“帖子”重命名为“帖子”。采取所有这些操作后,错误没有显示出来。
总而言之,确实表'帖子'不存在,因为错误消息说。因为表的实际名称是“帖子”而不是“帖子”。在phpmyadmin中很难注意到名称前的空格。这就是故事。没什么特别的。 我希望它有所帮助!
答案 5 :(得分:0)
转到phpadmin中的数据库,然后在sql中删除表。然后创建表。