Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mengalih keluar Kunci Utama daripada Lajur dalam MySQL Sambil Mengekalkan Auto-Increment?

Bagaimana untuk mengalih keluar Kunci Utama daripada Lajur dalam MySQL Sambil Mengekalkan Auto-Increment?

DDD
DDDasal
2024-12-28 15:16:10762semak imbas

How to Remove Primary Keys from Columns in MySQL While Keeping Auto-Increment?

Mengalih keluar Kunci Utama dalam MySQL

Soalan:

Bagaimana anda boleh menggugurkan kunci utama daripada lajur tertentu dalam jadual MySQL sambil mengekalkan id peningkatan automatik sebagai id utama kunci?

Respons:

Latar Belakang:

Dalam MySQL, lajur peningkatan automatik mesti ditakrifkan sebagai sebahagian daripada indeks, menjadikannya sukar untuk mengalih keluar kunci utama daripada lajur lain tanpa ralat.

Penyelesaian:

Untuk mengalih keluar kunci utama daripada lajur tertentu, ikut langkah berikut:

  1. Lumpuhkan Auto-Tambahan : Gunakan pernyataan ALTER TABLE untuk mengubah suai jenis data lajur id kepada INT dan alih keluar NOT NULL kekangan.
ALTER TABLE user_customer_permission MODIFY id INT;
  1. Lepaskan Kunci Utama: Setelah sifat kenaikan automatik dialih keluar, gunakan pernyataan ALTER TABLE untuk melepaskan kekangan kunci utama daripada user_customer_id dan izin_id lajur.
ALTER TABLE user_customer_permission DROP PRIMARY KEY;

Pertimbangan Tambahan:

  • Kunci utama komposit asal merangkumi ketiga-tiga lajur, jadi lajur id mungkin tidak unik .
  • Jika id adalah unik, anda boleh mendayakan semula kunci utama dan sifat autoincrement pada lajur id.
ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Kunci Utama daripada Lajur dalam MySQL Sambil Mengekalkan Auto-Increment?. 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