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
Lepaskan: 2024-12-30 04:17:14
asal
692 orang telah melayarinya

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

anda mungkin menghadapi ralat:

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

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

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!

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