2012-04-25 2 views
1

Я пытаюсь создать простую веб-приложение для школьного проекта в Grails. Я могу получить доступ к серверу, сохранить, удалить и все остальное, но всякий раз, когда я впервые запускаю приложение, я получаю массу SQL-ошибок, брошенных на меня. Я использую Grails 2.0.3 и mysql-connector-java-5.1.19.Ошибка Grails SQL при запуске

я получаю следующее сообщение об ошибке и многие другие подобного:

Ошибка 2012-04-25 14: 28: 54009 [бассейн-5-нитка-1] ОШИБКА hbm2ddl.SchemaUpdate - Неудачно: изменить таблицу character_trait добавить индекс FK93D74D785F2F8048 (character_traits_id), добавить ограничение FK93D74D785F2F8048 внешнего ключа (character_traits_id) символьные ссылки (ID)

Ошибка 2012-04-25 14: 28: 54009 [бассейн-5-нитка-1] ERROR hbm2ddl.SchemaUpdate - у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «характером (ID)» в строке 1

И при запросе с использованием findby динамических искателей:

Класс com.mysql.jdbc .exceptions.MySQLSyntaxErrorException

Сообщение У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с символом this_, где this_.player_id = 1 limit 1 'в строке 1

Любые идеи о том, почему это происходит?

+0

Это поможет включить соответствующие части вашего кода. – eggyal

ответ

1

CHARACTER является reserved word в MySQL. Он должен быть указан для использования в качестве имени таблицы или столбца. Вы можете процитировать его в таблице так:

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

@ ataylor. То же самое происходит со мной для имени столбца 'to', пожалуйста, скажите мне, как мне нужно объявить это в статическом сопоставлении, я сделал следующее: ' static mapping = { \t \t, чтобы назвать: '' to' ' \t} ' но не работал для меня. Пожалуйста, скажите мне правильный путь для решения этой проблемы для имени столбца. – mark

+0

@ ataylor..I решили эту проблему, используя бушель 'статическое отображение = { \t \t в колонке: '' в'' \t} ' спасибо за Ваш ответ, он мне очень помог. – mark

Смежные вопросы