Error number: MY-012200; Symbol: ER_IB_MSG_375; SQLSTATE: HY000
Message: %s
错误说明:
MySQL错误号为 MY-012200,Symbol为 ER_IB_MSG_375,SQLSTATE为 HY000 指明发生错误:Innodb存储类型字段缺少关键字,无法解析。这意味着MySQL数据库引擎无法解析并存储该类型的数据,返回HY000指出SQL语句已语法正确,但仍然无法执行。在本例中,字段在没有InnoDB类型关键字(如UNSIGNED)的情况下创建,因此无法进行存储。
本错误可能会在以下操作过程中发生:
1)使用“ALTER TABLE”语句在表中新增字段时,未使用“UNSIGNED”关键字指定InnoDB类型:
ALTER TABLE tablename ADD COLUMN col_name INT
2)某些字段使用MySQL内置数据类型,如BLOB,TEXT等:
CREATE TABLE tablename (
col1 INT unsigned,
col2 BLOB);
解决方法:
MySQL在出现ER_IB_MSG_375错误时,应意识到其可能是由表字段类型使用InnoDB而引起的,因此应正确指定InnoDB字段类型。
1)使用“ALTERTABLE”语句在表中新增字段时,可以用“UNSIGNED关键字指定InnoDB类型:
ALTER TABLE tablename ADD COLUMN col_name INT UNSIGNED
2)使用MySQL内置数据类型时,可以用这些关键字来确定InnoDB:
TINYTEXT – TINYBLOB
TEXT – BLOB
MEDIUMTEXT – MEDIUMBLOB
LONGTEXT – LONGBLOB
由于本错误是由于字段类型出错引起的,因此只需要保证在创建表时,指定正确的字段类型,或者使用ALTER TABLE在现有表中增加字段时指定UNSIGNED类型,便可解决此错误。