Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menambah indeks unik bersama menggunakan MySQL

Bagaimana untuk menambah indeks unik bersama menggunakan MySQL

王林
Lepaskan: 2023-05-28 11:48:44
ke hadapan
4377 orang telah melayarinya

Indeks unik bersama

Indeks unik yang digabungkan perlu digunakan dalam projek:

Contohnya: terdapat keperluan berikut: setiap orang hanya boleh menghasilkan satu rekod setiap hari: di luar perjanjian program, Pangkalan data itu sendiri juga boleh ditetapkan:

Contohnya: terdapat dua medan aa dan bb dalam jadual t_aa Jika anda tidak mahu mempunyai dua rekod yang sama (iaitu: nilai aa medan boleh diulang; nilai medan bb juga boleh diulang, tetapi nilai gabungan rekod (aa, bb) tidak dibenarkan untuk diulang), anda perlu menambah indeks unik bersama beberapa medan ke jadual t_aa:

alter table t_aa add unique index(aa,bb);
Salin selepas log masuk

Contohnya:

alter table use_info add unique index agd(user_account_id,game_id,daily_date);
alter table user_info add unique key agdkey(user_account_id,game_id,daily_date);
Salin selepas log masuk

Jika Apabila menambah rekod yang sama pada jadual, mesej ralat akan dikembalikan.

Tetapi apabila digunakan dengan Sisipkan ke dalam…PADA KEMASKINI KUNCI DUA…, tiada ralat akan dilaporkan Jika rekod yang sama wujud, ia akan diabaikan secara langsung.

Contoh:

 INSERT INTO unit (
    id,
    unitsubclass,
    name,
    state
)
VALUES('1111','CPU','CPU','0' ) ON DUPLICATE KEY UPDATE       unitsubclass=VALUES(unitsubclass),name =VALUES(name),state =VALUES(state)
Salin selepas log masuk

Situasi lain ialah kita perlu mencipta indeks ini untuk jadual sebelumnya Apakah yang perlu kita lakukan jika terdapat rekod pendua dalam data sebelumnya?

alter ignore table t_aa add unique index(aa,bb);
Salin selepas log masuk
<🎜. >Ia akan memadamkan rekod pendua (satu akan dikekalkan), dan kemudian mencipta indeks unik, yang cekap dan mesra pengguna.

Pelanjutan lanjutan:

Lihat indeks:

tunjukkan indeks daripada nama jadual pangkalan data

ubah pangkalan data jadual tambah nama indeks ( Nama medan pangkalan data) KUNCI UTAMA (indeks kunci utama):

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引);
Salin selepas log masuk

UBAH JADUAL nama_jadual TAMBAH UNIK (lajur) INDEX (indeks biasa):

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
Salin selepas log masuk

FULLTEXT (indeks teks penuh):

ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
Salin selepas log masuk

Indeks berbilang lajur:

ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
Salin selepas log masuk

Lampiran: Cara menggunakan arahan untuk mencipta indeks bersama dalam mysql

Indeks sendi biasa

Sintaks:

buat nama indeks indeks pada nama jadual (nama medan)

Contoh:

create index firstIndex on student(id, name, address);
Salin selepas log masuk

Nota:

  • nama indeks , nama jadual dan nama medan tidak boleh disertakan dalam tanda petikan

  • Untuk indeks bersama, mungkin terdapat berbilang nama medan, dipisahkan dengan koma Inggeris

  • Data indeks biasa boleh diulang

Hasil:

Bagaimana untuk menambah indeks unik bersama menggunakan MySQL

Sendi unik indeks

Sintaks:

buat nama indeks unik pada nama jadual (nama medan)

Contoh:

create unique index secondIndex on student(id, name, address);
Salin selepas log masuk
Nota:

  • Jangan sertakan nama indeks, nama jadual dan nama medan dalam tanda petikan

  • Untuk indeks bersama, boleh terdapat berbilang nama medan, dengan bahagian tengah Hanya gunakan koma Inggeris untuk memisahkan

  • Data indeks unik tidak boleh diulang

Keputusan:

Bagaimana untuk menambah indeks unik bersama menggunakan MySQL

Atas ialah kandungan terperinci Bagaimana untuk menambah indeks unik bersama menggunakan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan