static byte[] ac = {'\\', '\'', '{', '}', '{'}; //not OK insert into tt values('\\\'{}{')
static byte[] ac = {'\\', '\'', '{', '}'}; //OK insert into tt values('\\\'{}')
static byte[] ac = {'\\', '\'', '{'}; //OK insert into tt values('\\\'{')
static byte[] ac = {'\'', '{', '}', '{'}; //OK insert into tt values('\'{}{')
static byte[] ac = {'\\', '{', '}', '{'}; //OK insert into tt values('\\{}{')
我无法向blob表字段插入5个字节,字节如上所示。
数据源连接编码设置为UTF-8
。
相关信息:http://dev.mysql.com/doc/refman/5.5/en/string-literals.html
知道为什么{}
如此特别?它适用于工作台。
对于不行,我得到以下例外:
java.sql.SQLException: Not a valid escape sequence: {')
答案 0 :(得分:5)
这是MySQL的JDBC客户端(Connector / J)的某些版本中的错误;请参阅http://bugs.mysql.com/bug.php?id=31457(以及其他链接的其他错误)。您应该能够通过升级到最新的Connector / J来修复它;或者,您可以通过禁用转义处理(通过编写Statement.setEscapeProcessing(false)
)来解决它。