MySQL Error number: MY-011969; Symbol: ER_IB_MSG_144; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-011969; Symbol: ER_IB_MSG_144; SQLSTATE: HY000
Message: %s
错误说明:
MY-011969存储引擎:ER_IB_MSG_144表示InnoDB错误码,该错误表示InnoDB存储引擎检测到字段定义中出现重复列名。这是MySQL表示语法中出现重复列名称的错误。解决此错误的正确做法是,应该避免在执行SQL语句时创建具有重复列名的表。
常见案例
在MySQL中,当程序员或数据库管理员试图在具有重复列名的表上执行SQL语句时会出现该错误,例如:
CREATE TABLE employee (
id INT NOT NULL,
id INT NOT NULL
) Engine=InnoDB;
在上面的示例中,id列被定义了两次,会导致上述错误。
解决方法:
解决此错误的正确做法是,应该避免在执行SQL语句时创建具有重复列名的表。一定要确保表格中的列名都是惟一的。
还有另一种解决方案可以使用列别名,如果两个列只有一个是存储在表中,而另一个是计算的,这时你可以使用列的别名,语法如下:
SELECT real_col AS alias_col FROM table_name;
这种方式指定另一个名称来达到把2个列重新命名,当另一列是复杂以及更耗时的时候,这是一个非常有用的解决方法。