代码之家  ›  专栏  ›  技术社区  ›  Preetam Purbia

如何在数据库中存储url并生成unque id

  •  0
  • Preetam Purbia  · 技术社区  · 14 年前

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

    假设我正在进行API调用并获取URL列表。 我想存储这些URL,每个URL都应该有一个uniqe id(即编号),这样我就可以将该id传递到某个页面,并且可以从我的数据库中获取URL。

    假设我做了一个API调用,得到了关键字“xyz”的五个URL 我有以下网址和标题

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

    所以我想为每个URL生成一个唯一的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
    

    约束是url应该是唯一的

    数据库可以容纳大约12个LACS URL。

    你能指导我如何实施吗? 同时给出了一些优化的指导线

    谢谢

    3 回复  |  直到 14 年前
        1
  •  2
  •   Björn    14 年前

    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
  •  6
  •   Martin Schapendonk    14 年前

    对id使用自动增量列,对url列使用唯一约束。

    create table urls (
      id bigint not null auto_increment
    , url varchar(250) unique
    , title varchar(250)
    );
    
        3
  •  0
  •   Surfrdan    14 年前

    除了马丁的回答之外,您还可以使ID列无符号,使其容量增加一倍,达到18446744073709551615行。如果您需要更多的存储空间,那么您可以使用UUID。

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