mariadb - Varchar PRIMARY_KEY 不能长于 191
问题描述
我只是尝试使用 PHP7 和 mysqli 在 MariaDB 中创建下表:
CREATE TABLE $tb_bad_log (
ip varchar(255) NOT NULL default '',
name varchar(255) default NULL,
nr_tries int(1) NOT NULL default '0',
last_try varchar(255) NOT NULL default '',
blocked enum('Y','N') NOT NULL default 'N',
enter_user varchar(255) NOT NULL default '',
PRIMARY KEY (enter_user),
KEY nr_tries (nr_tries),
KEY blocked (blocked)
);
这给了我错误“指定的密钥太长;最大密钥长度为 767 个字节”,如果enter_user
是 192 个或更多字符,则它会持续存在,但如果我将其限制为 191 个字符或更少,则不会。这里发生了什么?
(是的,这里发生了一些奇怪的事情。我正在尝试理解遗留代码并让它运行。)