Rumah >pangkalan data >tutorial mysql >pengubahsuaian kunci utama mysql

pengubahsuaian kunci utama mysql

WBOY
WBOYasal
2023-05-18 11:50:073581semak imbas

Dalam pangkalan data MySQL, kunci utama (Kunci Utama) adalah konsep yang sangat penting, yang dapat memastikan keunikan setiap rekod dalam jadual data. Dalam keadaan biasa, kunci utama harus ditakrifkan semasa mencipta jadual data dan tidak boleh diubah. Jika kunci utama perlu diubah suai, ia perlu dilakukan dalam julat yang sangat kecil untuk mengelakkan akibat buruk. Artikel ini akan memperkenalkan cara mengubah suai kunci utama dalam pangkalan data MySQL.

I. Apakah kunci utama

Dalam pangkalan data MySQL, kunci utama merujuk kepada satu atau lebih lajur yang digunakan untuk mengenal pasti secara unik setiap rekod dalam jadual data. Takrif kunci utama biasanya ditakrifkan apabila jadual data dibuat dan tidak boleh diubah. Takrif kunci primer perlu memenuhi syarat berikut:

  1. Keunikan: Setiap nilai dalam kunci primer mestilah unik.
  2. Bukan nol: Setiap nilai dalam kunci primer mestilah bukan nol.
  3. Tidak boleh ditukar: Kunci utama tidak boleh ditukar selepas ia ditakrifkan.
  4. Pengurangan: Kunci utama hendaklah sesingkat mungkin untuk mengurangkan kesan pada ruang storan dan prestasi pertanyaan.

Dalam pangkalan data MySQL, anda boleh menggunakan pelbagai cara untuk menentukan kunci utama, termasuk:

  1. Kunci primer lajur tunggal: merujuk kepada hanya satu lajur dalam jadual data ditakrifkan sebagai kunci utama.
  2. Kunci primer komposit: merujuk kepada berbilang lajur dalam jadual data yang ditakrifkan sebagai kunci utama dan digabungkan untuk mengenal pasti secara unik setiap baris rekod.
  3. Kekangan kunci utama: juga dipanggil kekangan kunci utama, merujuk kepada menggunakan kata kunci KUNCI UTAMA untuk menentukan lajur sebagai kunci utama semasa membuat jadual data.

II Sekatan untuk mengubah suai kunci utama dalam MySQL

Dalam pangkalan data MySQL, kunci utama tidak boleh diubah setelah ia ditakrifkan. Ini adalah untuk memastikan integriti dan konsistensi jadual data. Oleh itu, untuk mengubah suai kunci utama, syarat berikut mesti dipenuhi:

  1. Lajur kunci utama yang diubah suai tidak mengandungi kekangan kunci asing.
  2. Lajur kunci utama yang diubah suai tidak disertakan dalam mana-mana indeks.
  3. Jadual data tidak dipisahkan.

III. Bagaimana untuk mengubah suai kunci utama dalam MySQL

  1. Pertama, kita perlu memadam kunci utama asal. Anda boleh menggunakan arahan berikut:
ALTER TABLE table_name DROP PRIMARY KEY;
  1. Kemudian, kita perlu mentakrifkan semula kunci utama. Anda boleh menggunakan arahan berikut:
ALTER TABLE table_name ADD PRIMARY KEY (column_name);

Antaranya, column_name merujuk kepada nama lajur yang akan ditakrifkan sebagai kunci utama dalam jadual data, yang boleh menjadi lajur tunggal atau primer komposit kunci ditakrifkan bersama oleh berbilang lajur. Perlu diingatkan bahawa kunci utama yang baru ditakrifkan mesti memenuhi syarat 1-4.

Sebagai contoh, katakan kita mempunyai jadual data bernama "pengguna" dengan medan berikut:

id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
email varchar(255) NOT NULL,
PRIMARY KEY (id)

Jika kita ingin menukar kunci utama daripada medan "id" kepada "nama pengguna" medan, Anda perlu melaksanakan perintah berikut:

ALTER TABLE users DROP PRIMARY KEY;
ALTER TABLE users ADD PRIMARY KEY (username);

IV Ringkasan

Kunci utama dalam MySQL ialah konsep yang sangat penting untuk mengenal pasti setiap rekod dalam jadual data secara unik memastikan integriti jadual data dan ketekalan. Dalam keadaan biasa, kunci utama harus ditakrifkan semasa mencipta jadual data dan tidak boleh diubah. Jika kunci utama perlu diubah suai, ia perlu dilakukan dalam julat yang sangat kecil untuk mengelakkan akibat buruk.

Atas ialah kandungan terperinci pengubahsuaian kunci utama mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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