我正在尝试使用 Grails 为学校项目制作一个简单的 Web 应用程序。我可以访问服务器,进行保存、删除和其他所有操作,但是每当我第一次运行该应用程序时,我都会收到大量的 SQL 错误。我正在使用 Grails 2.0.3 和 mysql-connector-java-5.1.19。
我收到以下错误以及许多其他类似的错误:
错误 2012-04-25 14:28:54,009 [pool-5-thread-1] 错误 hbm2ddl.SchemaUpdate - 不成功:更改表 character_trait 添加索引 FK93D74D785F2F8048(character_traits_id),添加约束 FK93D74D785F2F8048 外键(character_traits_id)引用字符(编号)
错误 2012-04-25 14:28:54,009 [pool-5-thread-1] 错误 hbm2ddl.SchemaUpdate - 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“字符 (id)”附近使用的正确语法
并且在使用 findby 动态查找器进行查询时:
类 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
留言 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“字符 this_ where this_.player_id=1 limit 1”附近使用的正确语法
关于为什么会发生这种情况有什么想法吗?
最佳答案
CHARACTER
是 reserved word在 MySQL 中。它需要被引用才能用作表名或列名。您可以像这样在表映射中引用它:
class Character {
static mapping = {
table name: '`character`'
}
}
关于mysql - 运行时出现 Grails SQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321741/