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
Lepaskan: 2024-12-28 15:16:10
asal
807 orang telah melayarinya

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;
Salin selepas log masuk
  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;
Salin selepas log masuk

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;
Salin selepas log masuk

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 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan