我不知道为什么在 mysql 5.6.24
上出现了这种奇怪的行为,你能帮助我吗?你认为这是一个 bug 吗?
mysql -D database --default_character_set utf8 -e "ALTER TABLE abc_folder ADD COLUMN lev10 varchar(5000);"
错误 1118 (42000) 第一行: 行大小过大。使用的表类型的最大行大小(不包括BLOBs)为65535。这包括存储开销,请查阅手册。您需要将某些列更改为TEXT或BLOBs。
替代方案:
mysql -D database --default_character_set utf8 -e "ALTER TABLE abc_folder ADD COLUMN lev10 varchar(50000);"
换句话说,更大的varchar()输入被接受并正确工作。有人知道发生了什么吗?
varchar()
被转换成了某种text
数据类型,但是我在文档中找不到相关的参考。 - Gordon LinoffSHOW CREATE TABLE fnbl_folder
。这可能有助于 @GordonLinoff 的评论,并且可以解释发生了什么。 - Rick James