我想使用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个左右的网址。
你可以指导我如何实现它吗? 还提供了一些优化指南由于
答案 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。