mysql - 运行时出现 Grails SQL 错误

标签 mysql grails dynamic-finders

我正在尝试使用 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”附近使用的正确语法

关于为什么会发生这种情况有什么想法吗?

最佳答案

CHARACTERreserved word在 MySQL 中。它需要被引用才能用作表名或列名。您可以像这样在表映射中引用它:

class Character {
    static mapping = {
        table name: '`character`'
    }
}

关于mysql - 运行时出现 Grails SQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321741/

相关文章:

php - 尝试在php中的单个查询中将数据插入到多个表中

grails - 如何为 Grails 服务运行测试

grails - 在Grails之外的GORM for Hibernate

mySQL根据重复日期生成行

php - 使用 PHP 和 MySQL 从多个表的多列中选择 DISTINCT

c# - GROUP BY 子句中的错误。无法解析查询文本

grails - 如何使用encodeAsHTML()作为空白值?

tomcat - slf4j 绑定(bind)不兼容

grails - 如何覆盖 grails 动态查找器?

grails - 使用动态查找器的并行查询的Grails设计模式