Mysql错误1071指定键值太长

时间:2017-10-24 06:39:24

标签: php mysql innodb web-hosting

我在 Godaddy托管服务器中使用我的Web应用程序。 Php版本为7.1 mysql版本为5.6

而我正在尝试

ALTER TABLE aos_products_quotes   
    modify COLUMN discount varchar(255)  DEFAULT 'Percentage' NULL ,  
    modify COLUMN parent_type varchar(255)  NULL ,  
    modify COLUMN parent_id char(255)  NULL ;

这些查询在我的域sql server中显示

  

MYSQL#1071错误指定键值太长

我想我需要使用 mysql 5.7 ,否则需要设置全局前缀变量为1 ..但是全局设置需要超级权限..在Godaddy方面他们在共享主机上告诉它不可能..

我尽力解决这个问题,所以任何人都会指导我解决这个问题。 提前谢谢......

1 个答案:

答案 0 :(得分:0)

有很多选项可以解决这个问题:

  1. 您可以尝试更改列的字符集以便它们 在存储中使用更少的字节。

  2. 您可以更改/删除表格的索引。可能是你正在使用 复合指数在此更改后达到其限制。

  3. 尝试使用较少长度的varchar()列。

  4. 分享完整的表格结构,以帮助您更好。 感谢