文档解释
Error number: MY-012509; Symbol: ER_IB_MSG_684; SQLstatE: HY000
Message: Waiting for page_cleaner to finish flushing of buffer pool
MySQL错误MY-012509,符号为ER_IB_MSG_684,SQLSTATE:HY000,描述为“无效的更新映射:此列类型不兼容索引中的列类型”。
错误说明
这个错误表明当MySQL查询试图使用更新映射更新索引时,结果会失败,因为索引中的列和要更新的列的类型不一致。
常见案例
最常见的情况是,用户正在使用AltER TABLE语句将表中的列类型更改为另一种类型,但在表中存在(一个或多个)索引,其中key列的类型与表中要更新的列类型不一致。 该错误可能出现在索引和要更新的列类型不兼容的任何情况下。
解决方法

MySQL没有内置方法可以解决此错误,因此要解决它,您必须删除索引,然后在表中完成更新,然后重新创建该索引。
首先,使用ALTER TABLE命令可以删除表中的索引,如:
ALTER TABLE table_name DROP INDEX index_name;
随后,可以使用ALTER TABLE语句要求执行更新,如:
ALTER TABLE table_name CHANGE column_name new_name column_type;
最后,可以使用ALTER TABLE命令创建一个新的索引,如:
ALTER TABLE table_name ADD INDEX index_name (column_name);
这些步骤可以解决此错误,并使MySQL事务重新变为完整。 但是,可以从概念上看出,此错误可以在更新发生之前轻松防止,只要正确检查该表中存在(或可能存在)的任何索引,表中要更改的列的类型是否与索引使用的列的类型一致。
香港美国云 服务器 首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
C#中的DataGrid怎样执行查询\添加\修改,并保存到数据库?
你点击GRIDVIEW右上角的那个小三角,然后点编辑列,在弹出的窗口中添加一个叫做COMMANDFILE的列,下这个列下面有一个叫做“编辑、更新、去消”它是有来修改一列内容的。 还有一个叫做“删除”的,这个不用我说是做什么的了吧。 要想添加一列有点儿麻烦,这个要你自己写,不过你可新添加一个列,放上个BUTTON,然后让它打开一个DeTailsView进行数据添加。 也是一个不错的选择啊。 补存:你可把DetailsView放到一个新的页面中,那在添加数据的按钮就写连接这个页面的代码就行了,如果你想在一个页面内显示的话,你可以写上DetailsView显示的代码,=true;当然这个控件在你打开网页是隐藏的。
oracle10g里怎么样重命名表名,列名
ALTERTABLE表名renamecolumn列名to新列名/*重命名列名*/ALTERTABLE表名renameto新表名/*重命名表名*/
发表评论