1

私はそのようなテーブルを持っています:

+---------+--------------+------+-----+-------------------+-----------------------------+
| Field   | Type         | Null | Key | Default           | Extra                       |
+---------+--------------+------+-----+-------------------+-----------------------------+
| id      | int(11)      | NO   | PRI | NULL              | auto_increment              |
| url     | varchar(255) | YES  | UNI | NULL              |                             |
| ts      | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| content | longblob     | YES  |     | NULL              |                             |
| source  | varchar(255) | YES  |     | NULL              |                             |
| state   | int(11)      | NO   |     | 0                 |                             |
+---------+--------------+------+-----+-------------------+-----------------------------+

IDを唯一の主キーのままにし、一意のフィールド「VERSION」を追加したいと思います。

私が欲しいのは、別々ではなく一緒にユニークなユニークなペア(url、バージョン)を作成することです。どうやってやるの?そのようにフィールドバージョンを追加し、URLを変更して一意にならないようにしてから、制約を追加する必要がありますか?

前もって感謝します!

4

1 に答える 1

1

あなたが探しているのが同じURLの複数のバージョンを一緒にテーブルに保存することであるなら、そうです、あなたがする必要があるのは:

  1. URLに一意性制約を削除します
  2. 一意でない列バージョンを追加します(ここでは整数と想定します)
  3. (url、version)に一意の制約またはインデックスを作成します。一意のチェックが速くなるはずなので、インデックスをお勧めします。
于 2012-09-01T19:52:17.227 に答える