English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQLで既存のフィールドをユニークにする方法は?

MySQLのユニークは、重複するレコードを追加することができません。今、表を作成する際に列にユニーク制約を作成する方法を見てみましょう。

mysql> create table UniqueConstDemo
- > (
- > name varchar(100) unique
- > );

今、列「名称」に対して、同じ値を複数回持つことはできません。

重複する値を持ついくつかのレコードを挿入してエラーを確認します。

mysql> insert into UniqueConstDemo values('John');
mysql> insert into UniqueConstDemo values('John');

上記のクエリを実行したとき、以下のエラーが見られます。

mysql> insert into UniqueConstDemo values('John');
ERROR 1062 (23000): Duplicate entry 'John' for key 'name'

異なる値を挿入してもエラーは発生しません。

mysql> insert into UniqueConstDemo values('Bob');

今、SELECT文を使ってすべてのレコードを表示しましょう。

mysql> select *from UniqueConstDemo;

以下は出力です。

+-------+
| name  |
+-------+
| Bob   |
| John  |
+-------+
3 セット内の行(rows) (0.00 セカンド)
おすすめ