MySQL Error number: MY-012145; Symbol: ER_IB_MSG_320; SQLSTATE: HY000

文档解释

Error number: MY-012145; Symbol: ER_IB_MSG_320; SQLSTATE: HY000

Message: %s

(尽量800到1000字)

错误号MY-012145:ER_IB_MSG_320,SQLSTATE:HY000,具体错误信息:Index column size too large. The maximum column size is 767 bytes.

解释:

这是MySQL中一个常见的错误,原因在于MySQL中索引列的最大尺寸是767字节。如果列的尺寸超过767字节,就会出现ER_IB_MSG_320:Index column size too large. The maximum column size is 767 bytes.错误。

常见案例

ER_IB_MSG_320这个错误通常发生在当用户试图创建一个索引时出现。例如,用户可能会在VARCHAR(768)类型的列上创建索引,或者从一个有着较长字段的表中创建索引,但该字段的尺寸超过了MySQL中索引列尺寸768字节的限制。

解决方法:

当出现ER_IB_MSG_320:Index column size too large. The maximum column size is 767 bytes.错误时,MySQL用户需要做的是将候选索引列的大小降至767字节以下,下面是几种可能的解决方案:

1、如果是创建索引出现的这个错误,则需要修改字段的尺寸,以使其小于767字节;

2、如果是从某一表中创建索引出现的这个错误,可以考虑将大于767字节的字段拆分成两个索引列;

3、如果是更新索引出现的该错误,下面是一种解决办法:(在MySQL命令行中执行)

ALTER TABLE `

` DROP INDEX “;

ALTER TABLE `

` ADD INDEX “(“,“)

其中,

是表名,是索引名,和是要加入索引的字段,每一列字段的大小都要小于767字节。

总之,MySQL中ER_IB_MSG_320:Index column size too large. The maximum column size is 767 bytes. 这个错误只要把候选索引列的大小降低至767字节以下就能解决。

你可能感兴趣的