冒号根本不需要转义, 直接写进去即可
INSERT INTO `test001` (`id`, `value`) VALUES ('1', 'asdf:234')
在 /etc/my.cnf 文件里加上如下:
sql_mode='NO_ENGINE_SUBSTITUTION',然后重启Mysql服务就可以了。
一、异常信息:
errorCode:1366 Caused by: java.sql.SQLException: Incorrect string value: '\xE7\xAE...' for column 'description' at row 1
二、异常原因:
(1)、字符集冲突,mysql insert入库的时候,由于插入数据编码与数据库字段字符集不一致,导致数据无法插入。
(2)、在mysql数据库中执行show character set,可以看到不同的字符集的最大长度不同。如果执插入utf8编码数据,数据库表中字段字符集是latin。(查询字段字符集方法:show full columns from user),如果最大长度为3的utf8字符集存储到最大长度为1的latin数据库字段中,数据会被截断,无法正常插入,导致异常。
建议您使用数据库连接池(Connection pool)或长连接(Persistent connection)方式连接MySQL Database on Azure。数据库连接池负责建立,管理和分配数据库连接。当应用程序申请一个数据库连接时,它优先分配一个现有的空闲的数据库连接,而不是重新建立一个。当数据库连接使用完毕后,它会回收该连接以备再次使用,而不是直接关闭该连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)