Dalam mysql, unik merujuk kepada "kekangan unik", yang bermaksud bahawa nilai medan dalam semua rekod tidak boleh muncul berulang kali. Terdapat berbilang kekangan unik dalam jadual, dan lajur tempat kekangan unik ditetapkan dibenarkan untuk mempunyai nilai nol, tetapi hanya boleh ada satu nilai nol. Sintaks untuk menambah kekangan unik semasa mengubah suai jadual ialah "UBAH JADUAL
TAMBAH KEKANGAN UNIK( );".
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Dalam mysql, unik merujuk kepada "kekangan unik".
Kekangan unik MySQL (UNIQUE KEY)
Kekangan unik MySQL (Unique Key) bermakna nilai medan dalam semua rekod tidak boleh Berulang kali. Contohnya, selepas menambah kekangan unik pada medan id, nilai id setiap rekod adalah unik dan tidak boleh diulang. Jika nilai id salah satu rekod ialah '0001', maka tidak boleh ada rekod lain dengan nilai id '0001' dalam jadual.
Kekangan unik adalah serupa dengan kekangan utama utama kerana kedua-duanya memastikan keunikan lajur. Perbezaannya ialah terdapat berbilang kekangan unik dalam jadual, dan lajur tempat kekangan unik ditetapkan dibenarkan untuk mempunyai nilai nol, tetapi hanya boleh ada satu nilai nol. Hanya terdapat satu kekangan kunci utama dalam jadual, dan nilai nol tidak dibenarkan. Sebagai contoh, dalam jadual maklumat pengguna, untuk mengelakkan nama pengguna pendua dalam jadual, nama pengguna boleh ditetapkan sebagai kekangan unik.
Tetapkan kekangan unik semasa membuat jadual
Kekangan unik boleh ditetapkan terus semasa mencipta jadual, biasanya pada lajur lain kecuali kunci utama.
Gunakan kata kunci UNIK secara langsung selepas mentakrifkan lajur untuk menentukan kekangan unik Format sintaks adalah seperti berikut:
<字段名> <数据类型> UNIQUE
Contoh 1:
Buat jadual data. tb_dept2 dan nyatakan jabatan Nama itu unik, dan pernyataan SQL serta hasil yang dijalankan adalah seperti berikut.
mysql> CREATE TABLE tb_dept2 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> location VARCHAR(50) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_dept2; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(40) | YES | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.08 sec)
Tambahkan kekangan unik semasa mengubah suai jadual
Format sintaks untuk menambah kekangan unik semasa mengubah suai jadual ialah:
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
Contoh 2:
Ubah suai jadual data tb_dept1 untuk menentukan nama jabatan yang unik Penyataan SQL dan hasil yang dijalankan adalah seperti berikut.
mysql> ALTER TABLE tb_dept1 -> ADD CONSTRAINT unique_name UNIQUE(name); Query OK, 0 rows affected (0.63 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(22) | NO | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
Padamkan kekangan unik
Format sintaks untuk memadamkan kekangan unik dalam MySQL adalah seperti berikut:
ALTER TABLE <表名> DROP INDEX <唯一约束名>;
Contoh 3 :
Padamkan kekangan unik unique_name dalam jadual data tb_dept1 Penyataan SQL dan hasil yang dijalankan adalah seperti berikut.
mysql> ALTER TABLE tb_dept1 -> DROP INDEX unique_name; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(22) | NO | | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci apakah mysql unik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!