我正在我的笔记本电脑上开发一个小型WAMP Web应用程序,我在其中运行了mySQL实例,并为数据库引擎选择了InnoDB。经过几个星期的开发,我想向公众开放,发现我的网站主机提供的数据库服务器不支持InnoDB,只支持MyISAM。
从我的笔记本电脑上的innoDB架构生成的create-and-populate脚本,当针对实时数据库执行时,可以设法创建单独的TABLES,但后来遇到创建VIEW的问题。 MyISAM不支持视图吗?我知道FOREIGN KEYs不是。这就是为什么我选择InnoDB的原因......我的innoDB架构设计有哪些机会与myISAM一起工作?
有没有直接的方法将整个架构从一个存储引擎转换到另一个?我应该寻找另一个提供支持innoDB的mysql数据库的Web主机吗?
答案 0 :(得分:6)
您的选择:
就个人而言,我认为4号是最糟糕的解决方案。现在有很多网站托管服务提供商支持InnoDB,因此浪费时间重新编写大部分应用程序以使用MyISAM。当然,这取决于应用程序的大小和复杂程度。如果它相对较小,那可能不是一个坏主意。
我可能会寻找新的网络托管服务提供商。
答案 1 :(得分:2)
是的,但InnoDB还有许多其他功能,如事务和行锁定(而不是表锁定)。
答案 2 :(得分:0)
它不是关于InnoDB与MyISAM:两种表类型都支持视图。我认为这是版本问题(Views [...] are available in MySQL Server 5.0)或关于grant tables。
如果您要发布确切的错误消息,这将有所帮助。