SQL错误
类
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
信息
您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'precision = 3,scale = 0.0,units ='°C'where channel_specification_id = 1196'附近使用
上下文
因此,此错误与Unicode完全相关,因为该查询适用于不包含Unicode字符的其他单元。 °C实际上是Unicode°和charC。
应该指出的一点是它正在接受Unicode℃\ u2103。另外,数据库已经存储了这些Unicode字符,并在查询时将这些字符返回给grails,但是当grails尝试使用任何这些字符更新db时,它将失败。
我已经尝试设置useUnicode = true,characterSet = UTF-8,添加custtumm方言等,并且根据对stackoverflow的类似问题和解答,数据库设置为使用UTF-8通用ci,没有任何作用。
有什么想法吗?
最佳答案
因此,应该非常明显的问题是精度!它是一个关键字,因此我们在映射下的域类中对字段(precision
)进行了转义。
关于sql - 来自Grails中的unicode的SQL语法错误(度数为\u00B0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31610428/