Error number: MY-011974; Symbol: ER_IB_MSG_149; SQLSTATE: HY000
Message: %s
错误说明
MySQL错误代码MY-011974表示“ER_IB_MSG_149”,它表示当GLOBAL关键字在CREATE TABLE语句中使用与TEMPORARY关键字不同的字符集时发生的错误。这个错误代码以SQLSTATE“HY000”格式报告。
常见案例
触发上面的MySQL错误的常见情况是,您将使用的表的字符集与GLOBAL关键字指定的字符集不同。例如,如果某个表使用“latin1”字符集,而您在CREATE TABLE语句中使用“utf8”GLOBAL字符集,则会发生这种情况,例如,
CREATE TABLE user (
id INTEGER AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
) enging=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC GLOBAL CHARSET=utf8;
解决方法
要解决这个错误,您应该确保在CREATE TABLE语句中使用的字符集以及GLOBAL字符集应该相同,例如,
CREATE TABLE user (
id INTEGER AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
) enging=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=dynamic GLOBAL CHARSET=utf8;
这将解决报道该错误的情况,因为它确保同一字符集用于GLOBAL关键字和DEFAULT CHARSET关键字