我需要将Url保存为表中的唯一键:
CREATE TABLE urls (
id int(5) NOT NULL auto_increment,
url text(2000) NOT NULL,
date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY (url)
);
我无法将此导入我的phpmyadmin,因为
我收到错误UNIQUE KEY (url)
有人可以给我一个如何将url保存为数据库中唯一键的建议吗?
问候
答案 0 :(得分:1)
您必须指定密钥的长度,以便Mysql可以保证列的唯一性。但是如果你尝试这样的话,
CREATE TABLE urls (
id int(5) NOT NULL auto_increment,
url text(1000) NOT NULL,
date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY (url(1000))
);
你会收到一个错误:“指定密钥太长;最大密钥长度是767字节”,根据http://dev.mysql.com/doc/refman/5.1/en/create-index.html确实是InnoDB表列的限制。因此,我建议您将列长度更改为767字节。