如果不存在则创建表返回“表不存在”

时间:2015-05-11 09:03:21

标签: mysql import

我在mysql中遇到问题,我尝试运行这句话

CREATE TABLE IF NOT EXISTS comunidad_estado (
  id_comunidad_estado int(11) NOT NULL,
  nombre varchar(50) NOT NULL,
  id_pais int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=latin1;

,返回的是:

https://imageshack.com/i/pdR670xhp

我知道我的数据库是空的,但我不明白它为什么不创建表

https://imageshack.com/i/idnYVanJp

提前致谢。

2 个答案:

答案 0 :(得分:0)

似乎架构/数据库已损坏/锁定。

可能的解决方案:

  • 重新启动mysql服务并重试(某些时候锁定适用于架构,并且不知何故无法解锁)
  • 删除此架构,创建新架构并重试(有时,在创建架构时 - 它会被破坏)
  • 修复mysql(mysqlcheck --repair) - 修复损坏的模式。
  • 最后,检查权限。

要确认您的脚本,请尝试@ http://sqlfiddle.com/。如果它有效,那么您的架构/数据库可能会出现上述原因。

答案 1 :(得分:0)

如果有人有同样的错误我通过更改查询的名称解决了它,然后重命名de db,这是一个非常奇怪的工作,但它正在工作。 感谢Anil的参考: Table doesn't exist after CREATE TABLE