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

Bagaimana untuk menambah indeks unik bersama menggunakan MySQL

王林
王林ke hadapan
2023-05-28 11:48:444287semak imbas

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);

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);

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)

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);
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(唯一索引);

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

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

FULLTEXT (indeks teks penuh):

ALTER TABLE `table_name` ADD FULLTEXT ( `column` )

Indeks berbilang lajur:

ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

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);

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);

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam