MySQL Error number: MY-012861; Symbol: ER_IB_MSG_1036; SQLSTATE: HY000

文档解释

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;

你可能感兴趣的