【发布时间】:2012-08-18 02:44:23
【问题描述】:
我正在将 Grails 与 mySQL 数据库一起使用,并且我正在尝试更改数据库引擎。据我研究,这可以做到最好
dialect = "org.hibernate.dialect.[MyDialect]"
在 DataSource.groovy 配置中。但是当我将方言设置为 org.hibernate.dialect.MySQLMyISAMDialect 时,我的表创建失败并出现错误:
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 在第 1 行的“type=MyISAM”附近
我后来也尝试过修改表格:
sql.execute("ALTER TABLE book ENGINE = MYISAM;")
这确实有效,但在创建后更改引擎时,表的所有外键都会被删除。
我应该如何避免错误并正常更换引擎?
【问题讨论】:
-
能否请您发布您正在运行的 MySQL 版本以及 Grails 版本?
-
仅供参考,MYISAM 不支持外键。
-
mysql版本是5.5.27,grails版本是2.1.0