Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengalih keluar Kunci Utama Komposit dalam MySQL Semasa Menyimpan Lajur Auto-Tambahan?

Bagaimana untuk mengalih keluar Kunci Utama Komposit dalam MySQL Semasa Menyimpan Lajur Auto-Tambahan?

Susan Sarandon
Lepaskan: 2024-12-31 03:28:10
asal
394 orang telah melayarinya

How to Remove Composite Primary Keys in MySQL While Keeping an Auto-Increment Column?

Mengalih keluar Kunci Utama daripada Berbilang Lajur dalam MySQL

Soalan:

Bagaimana saya boleh mengalih keluar kunci utama daripada user_customer_id dan permission_id sambil mengekalkan kunci utama untuk id dalam jadual user_customer_permission, walaupun menghadapi ralat apabila menggunakan perintah "alter table user_customer_permission drop primary key"?

Penjelasan:

MySQL memerlukan lajur autoincrement menjadi sebahagian daripada indeks paling kiri. Dalam kes ini, lajur id ialah autoincrement, jadi mengalih keluar kunci utama daripada id akan melanggar keperluan ini.

Penyelesaian:

Untuk berjaya mengalih keluar kunci utama daripada user_customer_id dan id_izin, ikuti ini langkah:

  1. Alih keluar sifat autoincrement daripada lajur id:

    ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
    Salin selepas log masuk
  2. Lepaskan kunci utama:

    ALTER TABLE user_customer_permission DROP PRIMARY KEY;
    Salin selepas log masuk

Nota: Adalah penting untuk ambil perhatian bahawa jadual sebelum ini mempunyai KUNCI UTAMA komposit meliputi ketiga-tiga lajur (id, user_customer_id, permission_id). Untuk memastikan keunikan lajur id, anda boleh menjadikannya kunci utama sekali lagi dengan autoincrement:

ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;
Salin selepas log masuk

Dengan mengikuti langkah ini, anda boleh berjaya mengalih keluar kunci utama daripada user_customer_id dan permission_id sambil mengekalkan kunci utama untuk id.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Kunci Utama Komposit dalam MySQL Semasa Menyimpan Lajur Auto-Tambahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan