如何在数据库中存储url并生成唯一的id

时间:2010-11-16 11:09:00

标签: php mysql database

我想使用php和mysql创建一个应用程序。

假设我正在进行api调用并获取网址列表。 我想存储这些网址,每个网址都应该有一个uniqe id(即数字),以便我可以将该ID传递给某个页面,我可以从我的数据库中获取网址。

假设我做了一个api调用得到五个关键字“xyz”的网址 我得到了以下网址和各自的标题

google.com/abc1.html title1
google.com/abc2.html title2
google.com/abc3.html title3
google.com/abc4.html title4

所以我想生成每个网址的唯一ID 喜欢

id1 google.com/abc1.html title1
id2 google.com/abc2.html title2
id3 google.com/abc3.html title3
id4 google.com/abc4.html title4

约束是网址应该是唯一的

数据库可容纳12个左右的网址。

你可以指导我如何实现它吗? 还提供了一些优化指南

由于

3 个答案:

答案 0 :(得分:6)

对id使用auto_increment列,在url列上使用唯一约束。

create table urls (
  id bigint not null auto_increment
, url varchar(250) unique
, title varchar(250)
);

答案 1 :(得分:2)

12Lacs = 120万,对吧?

为此你可以使用带有自动增量的常规无符号整数;

create table urls (
    id int unsigned not null auto_increment,
    url varchar(255) not null unique,
    title varchar(255) not null,
    primary key(id)
);

无符号整数最多可以保存4 294 967 295。

答案 2 :(得分:0)

除了Martin的回答,您可以将id列无符号并将其容量加倍至18446744073709551615行。如果您需要更多存储空间,可以查看使用UUID。

http://php.net/manual/en/function.uniqid.php