Mysql - 如何将url保存为唯一键

时间:2014-10-21 11:15:51

标签: mysql url key unique

我需要将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保存为数据库中唯一键的建议吗?

问候

1 个答案:

答案 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字节。