我知道这个标题的问题已经回答过,但请继续阅读。在发布之前,我已详细阅读了有关此错误的所有其他问题/答案。#1071 - 指定的密钥太长;最大密钥长度为1000字节
我收到上述错误以下查询:
CREATE TABLE IF NOT EXISTS `pds_core_menu_items` (
`menu_id` varchar(32) NOT NULL,
`parent_menu_id` int(32) unsigned DEFAULT NULL,
`menu_name` varchar(255) DEFAULT NULL,
`menu_link` varchar(255) DEFAULT NULL,
`plugin` varchar(255) DEFAULT NULL,
`menu_type` int(1) DEFAULT NULL,
`extend` varchar(255) DEFAULT NULL,
`new_window` int(1) DEFAULT NULL,
`rank` int(100) DEFAULT NULL,
`hide` int(1) DEFAULT NULL,
`template_id` int(32) unsigned DEFAULT NULL,
`alias` varchar(255) DEFAULT NULL,
`layout` varchar(255) DEFAULT NULL,
PRIMARY KEY (`menu_id`),
KEY `index` (`parent_menu_id`,`menu_link`,`plugin`,`alias`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
没有人有想法,为什么,以及如何解决它? 问题在于 - 同样的查询在我的本地机器上完美工作,并且在我之前的主机上工作得很好。 Btw.it来自一个成熟的项目 - phpdevshell - 所以我猜这些人知道他们在做什么,尽管你永远不知道。
任何线索赞赏。
我正在使用phpMyAdmin。
非常感谢您的详细解释。除了解决问题之外,我还学到了一些有价值的东西。 – CodeVirtuoso 2012-01-05 18:53:09
这是一个整洁的查询,感谢分享! – yekta 2017-02-14 09:10:12
真的,非常有用的查询找出索引应设置的长度。使用这段时间来确定索引的最佳长度。感谢你的分享! – 2018-01-27 19:35:29