创建表后如何为表创建索引

时间:2018-12-19 21:20:34

标签: php mysql phpmyadmin

在phpMyAdmin中,我们创建一个配置表,例如:

CREATE TABLE `my_config_table` (
  `my_config_colon_name` varchar(255) NOT NULL DEFAULT '',
  `my_config_colon_value` varchar(255) NOT NULL DEFAULT '',
  `is_dynamic` tinyint(1) UNSIGNED NOT NULL DEFAULT '0'
);

然后我们根据phpMyAdmin添加索引,并且我们知道一个主键和辅助键:

ALTER TABLE `my_config_table`
  ADD PRIMARY KEY (`my_config_colon_name`),
  ADD KEY `is_dynamic` (`is_dynamic`);
SET FOREIGN_KEY_CHECKS=1;

MySql说道:

1071-指定的密钥太长;最大密钥长度为767字节

我通过在phpMyAdmin中导出表结构来生成代码。

编辑:     我的索引仅是varchar(255),而不是500长度(如其他人所问的那样),另外我在phpMyAdmin中导出了表,并且已从phpBB 3.2.24接近phpbb_config,安装正确。

编辑:我使用:     ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin

然后,如果对于utf8mb4,最大varchar为191,那么仅utf8_bin多长时间?

我正在使用:

PHP 5.6.33或5.6.39

phpMyAdmin 4.7.8

MySql 5.5.24

0 个答案:

没有答案