Php Mysql错误1071指定的键值太长

Php Mysql错误1071指定的键值太长,php,mysql,innodb,web-hosting,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(2

我正在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方面,他们告诉我们在共享主机上是不可能的

我尽我最大的努力解决这个问题,所以任何人都可以指导我解决这个问题。。
提前感谢…

有许多选项可以解决此问题:

  • 您可以尝试更改列的字符集,以便 在存储器中使用更少的字节

  • 您可以更改/删除表的索引。可能是您正在使用的 本次变更后达到限额的综合指数

  • 尝试减少varchar()列的长度

  • 共享完整的表结构,以帮助您更好地使用。
    谢谢

    有许多选项可以解决此问题:

  • 您可以尝试更改列的字符集,以便 在存储器中使用更少的字节

  • 您可以更改/删除表的索引。可能是您正在使用的 本次变更后达到限额的综合指数

  • 尝试减少varchar()列的长度

  • 共享完整的表结构,以帮助您更好地使用。
    感谢

    尝试更改的可能重复导致关联索引过长,即如果执行更改,索引中涉及一个或多个列,这将超过限制。查看索引(将“主键”视为“主键”)尝试更改的可能副本使关联索引过长,即,如果执行更改,索引中涉及的一个或多个列将超过限制。查看索引(将“键”视为“主键”)