Объявление MySQL UNIQUE, чтобы избежать вставки повторяющихся значений?
Ниже приводится объявление предложения UNIQUE в MySQL:
create table yourTableName
(
yourColumnName1 dataType,
yourColumnName2 dataType,
UNIQUE(yourColumnName1),
UNIQUE(yourColumnName1)
);
Сначала создадим таблицу:
mysql> create table DemoTable
(
Value int,
Value2 int,
UNIQUE(Value),
UNIQUE(Value2)
);
Query OK, 0 rows affected (13.98 sec)
Вставьте несколько записей в таблицу с помощью команды вставки. Здесь повторяющиеся записи не будут вставлены, поскольку выше мы использовали UNIQUE:
mysql> insert into DemoTable values(10,20) ;
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable values(10,30);
ERROR 1062 (23000): Duplicate entry '10' for key 'Value'
mysql> insert into DemoTable values(40,20);
ERROR 1062 (23000): Duplicate entry '20' for key 'Value2'
mysql> insert into DemoTable values(60,70);
Query OK, 1 row affected (1.37 sec)
Отобразите все записи из таблицы с помощью оператора select:
mysql> select *from DemoTable;
Это даст следующий результат:
+-------+--------+
| Value | Value2 |
+-------+--------+
| 10 | 20 |
| 60 | 70 |
+-------+--------+
2 rows in set (0.00 sec)