Pesquisa de site

Insira valor não duplicado em uma tabela MySQL


Para permitir a inserção apenas de valores não duplicados, use a restrição UNIQUE. Vamos primeiro criar uma tabela:

mysql> create table DemoTable832(
   FirstName varchar(100),
   LastName varchar(100),
   UNIQUE(FirstName,LastName)
);
Query OK, 0 rows affected (0.87 sec)

Insira alguns registros na tabela usando o comando insert:

mysql> insert into DemoTable832 values('John','Smith');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable832 values('Adam','Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable832 values('John','Doe');
Query OK, 1 row affected (0.33 sec)
mysql> insert into DemoTable832 values('John','Smith');
ERROR 1062 (23000): Duplicate entry 'John-Smith' for key 'FirstName'

Acima, tentamos inserir uma entrada duplicada na tabela, mas pode ser observado um erro.

Exiba todos os registros da tabela usando a instrução select:

mysql> select *from DemoTable832;

Isso produzirá a seguinte saída:

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam      | Smith    |
| John      | Doe      |
| John      | Smith    |
+-----------+----------+
3 rows in set (0.00 sec)

Artigos relacionados: