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:
Alih keluar sifat autoincrement daripada lajur id:
ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
Lepaskan kunci utama:
ALTER TABLE user_customer_permission DROP PRIMARY KEY;
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;
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!