6

既存のテーブルの場合、値が繰り返される可能性のある列に一意のテーブルを作成することは許可されていますか?

4

3 に答える 3

7

いいえ、許されません。

次の SQL:

ALTER TABLE `table`
ADD UNIQUE (`column`)

次のエラーが生成されます。

#1062 - キー「列」のエントリ「データ」が重複しています

以下を使用して重複を識別できます。

SELECT * FROM `table`
GROUP BY `column`
HAVING COUNT(`column`) > 1

重複をすべて削除したら、UNIQUE制約を追加できます。

于 2013-04-24T01:45:38.760 に答える
0

それは不可能:

Mysql2::Error: Duplicate entry 'foo' for key 'index_clubs_on_url': CREATE UNIQUE INDEX `index_clubs_on_url` ON `clubs` (`url`)
于 2013-04-24T01:45:28.383 に答える