我读了很多关于为什么这是一个坏主意,但这就是我想要这样做的原因。我希望我的桌子看起来像这样:
id | article | link | text_cont
1 | //text | www... | parsed text content
2 | //text2 | www..2 | parsed text content2
等等。我不希望我的id成为主键的共鸣是因为我希望我的LINK成为主键...当我运行Cron Job以获取更多数据时,我将不会有重复的字段表。我可以使用INSERT IGNORE,它不会包含两次相同的链接。但是我仍然想要id自动递增,所以我可以使用id的“无限滚动”。
这可能吗?我真的希望如此,因为我认为这是一个很好的理由...
答案 0 :(得分:1)
您无法自动增加文本字段。
此外,如果您不希望Id作为您的密钥,为什么要ID?您似乎需要更改运行cron作业的方式,而不是您的架构
-
如果您仍想知道如何创建AI字段:
link_id int NOT NULL AUTO_INCREMENT
对于现有数据:
ALTER TABLE articles MODIFY COLUMN link_id int(4) auto_increment
答案 1 :(得分: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");
它可能不是最好的桌面设计,但它可以回答你的问题。