首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webhost不支持InnoDB。现在怎么办?

问webhost不支持InnoDB。现在怎么办?
EN

Stack Overflow用户
提问于 2010-02-16 23:27:48
回答 3查看 2.5K关注 0票数 3

我在我的笔记本电脑上开发了一个小的WAMP web应用程序,在那里我运行了一个mySQL实例,并且我选择了InnoDB作为我的DB引擎。经过几周的开发,我想让它对公众开放,发现我的web主机提供的数据库服务器不支持InnoDB,只支持MyISAM。

在我的笔记本电脑上,从innoDB模式生成的创建和填充脚本在针对实时数据库执行时,可以设法创建单独的表,但随后在创建视图时会遇到问题。MyISAM中是否不支持视图?我知道外键不是。这就是我选择InnoDB的原因。让我的innoDB模式设计与myISAM一起工作的机会有多大?

有没有什么直接的方法将整个模式从一个存储引擎转换到另一个存储引擎?我应该寻找另一个提供支持innoDB的mysql数据库的web主机吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-17 00:02:44

您的选择:

  1. 询问您的虚拟主机提供商是否可以在其服务器上启用InnoDB (有时他们会为您启用或将您的帐户移至支持InnoDB的服务器)。
  2. 获得一个新的支持InnoDB的虚拟主机提供商。
  3. 负责处理PHP中的外键依赖关系(例如,您可以使用Zend_Db和Zend_Db_Table来处理数据库,如果您将应用程序设置为MyISAM表,这些类可以自动处理外键依赖关系。

就我个人而言,我认为4号是最糟糕的解决方案。现在有很多支持InnoDB的虚拟主机提供商,所以为了使用MyISAM重新编码大量的应用程序是浪费时间的。当然,这取决于应用程序的大小和复杂程度。如果它相对较小,这可能不是一个坏主意。

我可能会寻找一个新的虚拟主机提供商。

票数 6
EN

Stack Overflow用户

发布于 2010-04-16 06:29:27

是的,但是InnoDB还有许多其他特性,比如事务和行锁(而不是表锁)。

票数 2
EN

Stack Overflow用户

发布于 2010-02-17 00:09:28

这不是关于InnoDB和MyISAM的问题:这两种表类型都支持视图。我认为这要么是版本问题(),要么是grant tables的问题。

如果你能发布你得到的准确的错误信息,那将会很有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2273937

复制
相关文章

相似问题

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