1

なぜこれが悪い考えなのかについてはよく読みましたが、これが私がこれをやりたい理由です。テーブルを次のように表示します。

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

等々。ID を主キーにしたくない理由は、LINK を主キーにしたいからです...そのようにして、Cron ジョブを実行してより多くのデータを取得するときに、重複したフィールドが自分のテーブル。INSERT IGNORE を使用でき、同じリンクが 2 回含まれることはありません。しかし、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 に答える