Error number: MY-012861; Symbol: ER_IB_MSG_1036; SQLSTATE: HY000
Message: %s
错误说明
错误代码 MY-012861,符号为 ER_IB_MSG_1036,SQLSTATE 为 HY000,MySQL 报出的错误 MY-012861(ER_IB_MSG_1036)的完整提示为:“无效的字符集定义:’%s’,消息 1036。”。
这表明该错误是由于对此 MySQL 中定义的字符集有语法错误导致的。
常见案例
该错误通常是由于在 MySQL 中定义一个无效的字符集时所造成的,例如,在执行一个 CREATE TABLE 语句时可能会出现:
CREATE TABLE t1 (
name VARCHAR(10) CHARACTER SET utf007
);
执行以上语句时,会报出错误 MY-012861(ER_IB_MSG_1036),这是因为“utf007”不是 MySQL 中有效的字符集,因此会报出有关错误信息。
解决方法
该错误的解决方法很简单,只需要更正有误的代码,将错误的字符集更正为一个有效的 MySQL 中可使用的字符集即可,因为这是一个语法错误,MySQL 不能识别“utf007”作为一个有效的字符集,如果期望使用 “utf8” 字符集,将上述语句更正为:
CREATE TABLE t1 (
name VARCHAR(10) CHARACTER SET utf8
);
如果想要了解更多有关 MySQL 的字符集,可以点击以下链接查看:
https://dev.mysql.com/doc/refman/5.5/en/charset-charsets-index.html
也可以使用 SHOW CHARACTER SET 命令来查看当前有效的 MySQL 字符集:
SHOW CHARACTER SET;