Mysql Unique Ekleme – Alter table Add Unique

Bir tabloda bütünlüğü sağlamak, tekrarı önlemek için bilgi alanına Unique anahtarı eklenmelidir.

Hatırlanırsa bir önceki yazımızda primary key eklemiştik. Primary bir kez kullanılabilir. Ama bizim bir alanda daha tekrar olmasını istemiyoruz.

Her öğrencinin kendisine ait cep telefon numarası vardır. Yanlışlıkla aynı numaranın eklenmesini istemiyoruz. İşte şimdi bunu Unique anahtarı ile sağlayacağız.

ogrenci tablomuzun yapısı

MariaDB [obs]> desc ogrenci;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| ogrNo   | char(11)    | NO   | PRI | NULL    |       |
| adi     | varchar(30) | YES  |     | NULL    |       |
| soyadi  | varchar(30) | YES  |     | NULL    |       |
| mobil   | varchar(10) | YES  |     | NULL    |       |
| dtarihi | date        | YES  |     | NULL    |       |
| bolumu  | varchar(30) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.046 sec)

mobil bilgi alanının Unique yapmak için

MariaDB [obs]> alter table ogrenci add unique (mobil);
Query OK, 0 rows affected (0.350 sec)
Records: 0  Duplicates: 0  Warnings: 0

komutu uygulanır, sonucu görmek için

MariaDB [obs]> desc ogrenci;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| ogrNo   | char(11)    | NO   | PRI | NULL    |       |
| adi     | varchar(30) | YES  |     | NULL    |       |
| soyadi  | varchar(30) | YES  |     | NULL    |       |
| mobil   | varchar(10) | YES  | UNI | NULL    |       |
| dtarihi | date        | YES  |     | NULL    |       |
| bolumu  | varchar(30) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.016 sec)

 Unique – Drop Özelliğini Kaldırmak

MariaDB [obs]> alter table ogrenci drop index mobil;
Query OK, 0 rows affected (0.501 sec)
Records: 0 Duplicates: 0 Warnings: 0

Mysql Unique Ekleme – Alter table Add Unique

Bir tabloda bütünlüğü sağlamak, tekrarı önlemek için bilgi alanına Unique anahtarı eklenmelidir.

Hatırlanırsa bir önceki yazımızda primary key eklemiştik. Primary bir kez kullanılabilir. Ama bizim bir alanda daha tekrar olmasını istemiyoruz.

Her öğrencinin kendisine ait cep telefon numarası vardır. Yanlışlıkla aynı numaranın eklenmesini istemiyoruz. İşte şimdi bunu Unique anahtarı ile sağlayacağız.

ogrenci tablomuzun yapısı

MariaDB [obs]> desc ogrenci;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| ogrNo   | char(11)    | NO   | PRI | NULL    |       |
| adi     | varchar(30) | YES  |     | NULL    |       |
| soyadi  | varchar(30) | YES  |     | NULL    |       |
| mobil   | varchar(10) | YES  |     | NULL    |       |
| dtarihi | date        | YES  |     | NULL    |       |
| bolumu  | varchar(30) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.046 sec)

mobil bilgi alanının Unique yapmak için

MariaDB [obs]> alter table ogrenci add unique (mobil);
Query OK, 0 rows affected (0.350 sec)
Records: 0  Duplicates: 0  Warnings: 0

komutu uygulanır, sonucu görmek için

MariaDB [obs]> desc ogrenci;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| ogrNo   | char(11)    | NO   | PRI | NULL    |       |
| adi     | varchar(30) | YES  |     | NULL    |       |
| soyadi  | varchar(30) | YES  |     | NULL    |       |
| mobil   | varchar(10) | YES  | UNI | NULL    |       |
| dtarihi | date        | YES  |     | NULL    |       |
| bolumu  | varchar(30) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.016 sec)

 Unique – Drop Özelliğini Kaldırmak

MariaDB [obs]> alter table ogrenci drop index mobil;
Query OK, 0 rows affected (0.501 sec)
Records: 0 Duplicates: 0 Warnings: 0