Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menambah ID Peningkatan Auto pada Jadual dengan Kunci Utama Sedia Ada dalam MySQL?

Bagaimana untuk Menambah ID Peningkatan Auto pada Jadual dengan Kunci Utama Sedia Ada dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 04:17:14700semak imbas

How to Add an Auto-Increment ID to a Table with an Existing Primary Key in MySQL?

Menambah ID Autokenaikan pada Jadual Sedia Ada dengan Kunci Utama

Mempertingkatkan jadual sedia ada dengan ID autokenaikan ialah keperluan biasa dalam pengurusan pangkalan data. Walau bagaimanapun, menambah lajur autokenaikan pada jadual yang sudah mempunyai kunci utama boleh menimbulkan cabaran.

Apabila anda cuba menambah lajur autokenaikan menggunakan pernyataan:

ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT

anda mungkin menghadapi ralat:

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

Ini kerana MySQL membenarkan hanya satu lajur kenaikan automatik bagi setiap jadual, dan ia mesti ditetapkan sebagai utama kunci.

Untuk menyelesaikan isu ini, anda perlu terlebih dahulu mengubah suai kunci utama sedia ada untuk membenarkan kenaikan automatik, kemudian tambah lajur kenaikan automatik baharu. Berikut ialah contoh:

ALTER TABLE `users`
MODIFY COLUMN `id` INT NOT NULL AUTO_INCREMENT,
ADD COLUMN `name` VARCHAR(255) NOT NULL

Dengan melaksanakan pertanyaan ini, anda mengubah suai lajur id sedia ada menjadi autokenaikan dan menambah lajur nama baharu pada jadual. Lajur id kini akan berfungsi sebagai kedua-dua kunci utama dan ID autokenaikan.

Atas ialah kandungan terperinci Bagaimana untuk Menambah ID Peningkatan Auto pada Jadual dengan Kunci Utama Sedia Ada dalam 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