1

我读了很多关于为什么这是一个坏主意的文章,但这就是我想要这样做的原因。我希望我的桌子看起来像这样:

id   |   article   |   link   |   text_cont
 1   |   //text    |   www... |  parsed text content
 2   |   //text2   |   www..2 |  parsed text content2

等等。我不希望我的 id 成为主键的原因是因为我希望我的 LINK 成为主键......这样当我运行 Cron 作业以获取更多数据时,我的字段中不会有重复的字段桌子。我可以使用 INSERT IGNORE 并且它不会包含两次相同的链接。但我仍然希望 id 自动递增,这样我就可以使用 id 的“无限滚动”。

这可能吗?我真的希望如此,因为我认为这是拥有这个的一个很好的理由......

4

2 回答 2

1

您不能自动增加文本字段。

另外,如果您不希望 Id 作为您的密钥,您为什么要 id?似乎您需要更改运行 cron 作业的方式,而不是您的架构

--

如果您还想知道如何创建 AI 字段:

link_id int NOT NULL AUTO_INCREMENT

对于现有数据:

ALTER TABLE articles MODIFY COLUMN link_id int(4) auto_increment
于 2013-04-07T17:05:35.553 回答
0

您不需要主键就可以让它自动递增。这工作正常。

create table dude (
  id int auto_increment,
  link varchar(255),
  primary key (link),
  unique key (id)
);

insert into dude values (null, "www.google.com");
insert into dude values (null, "www.stackoverflow.com");
insert into dude values (null, "www.google.com");

它可能不是最好的桌子设计,但它回答了你的问题。

于 2013-04-07T17:14:51.727 回答