我的 MySQL 有问题,我有一个包含许多文本字段的表。当我尝试存储一些数据时,出现此错误。
行大小太大。所用表类型的最大行大小(不包括 BLOB)为 8126。您必须将某些列更改为 TEXT 或 BLOB
我在每个字段中存储的文本不会太长,每个字段只有几段。
我能做什么?
谢谢回答的人。您发布的链接是开始学习的非常有用的基础。
最后我找到了这个页面:http : //download.oracle.com/docs/cd/E17952_01/refman-5.5-en/innodb-compression-usage.html
我配置了 my.cnf 在[mysqld]
部分中添加了这两行:
innodb_file_per_table
innodb_file_format = Barracuda
Run Code Online (Sandbox Code Playgroud)
然后我ALTER
通过 phpMyAdmin 使用此命令创建我的表:
ALTER TABLE nombre_tabla
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
SHOW WARNINGS;
Run Code Online (Sandbox Code Playgroud)
也可以使用您可以在上面的链接中阅读的其他设置,但这些对我来说很有用。
好吧,按照 mysql 所说:将大字段从 varchar 转换为文本或 blob(ALTER TABLE)。文本字段的行为与 varchar 非常相似(索引需要前缀长度,但仍然有效),但单独存储。
该参考资料告诉您每个库存 mysql 表引擎的确切限制:
http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html
以下是有关文本字段的所有信息:
http://dev.mysql.com/doc/refman/5.0/en/blob.html
归档时间: |
|
查看次数: |
17567 次 |
最近记录: |