Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menukar Lajur Utama Sedia Ada kepada Peningkatan Auto dalam MySQL?

Bagaimana untuk Menukar Lajur Utama Sedia Ada kepada Peningkatan Auto dalam MySQL?

DDD
DDDasal
2024-10-28 23:05:30213semak imbas

How to Convert Existing Primary Key Columns to Auto-Increment in MySQL?

Menukar Lajur Kunci Utama Sedia Ada kepada Peningkatan Auto dalam MySQL

Banyak keadaan melibatkan memperoleh pangkalan data dengan lajur kunci utama sedia ada tetapi kekurangan penambahan automatik ciri. Walaupun penambahan secara manual dalam kod telah digunakan pada masa lalu, adalah wajar untuk bertukar kepada penambah automatik untuk pengurusan pangkalan data yang lebih baik.

Menambah Auto-Tambahan pada Lajur Sedia Ada

Untuk mengubah lajur kunci utama sedia ada kepada lajur auto-naik, ikut langkah berikut:

ALTER TABLE <table-name> MODIFY COLUMN <column-name> INT NOT NULL AUTO_INCREMENT;

Sebagai contoh, untuk mengubah suai lajur kunci utama 'id' dalam jadual 'foo':

ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;

Untuk mengesahkan perubahan, gunakan arahan SHOW CREATE TABLE:

SHOW CREATE TABLE foo;

Ia sepatutnya mengeluarkan baris yang serupa dengan:

...`id` INT(11) NOT NULL AUTO_INCREMENT,
...

Menguji Auto- Kefungsian Penambahan

Untuk memastikan kenaikan automatik berfungsi seperti yang diharapkan, masukkan rekod baharu tanpa menyatakan nilai untuk lajur 'id':

INSERT INTO foo () VALUES ();

Memilih data daripada Jadual 'foo' hendaklah memaparkan nilai yang baru ditambah secara automatik.

Mengatasi Ralat 150

Jika anda menghadapi ralat 150 semasa menamakan semula jadual, ia mungkin berpunca daripada konflik dengan kekangan kunci asing. Untuk menyelesaikan masalah ini, anda mungkin perlu menggugurkan dan mencipta semula perhubungan kunci asing selepas mengubah suai lajur kunci utama.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Lajur Utama Sedia Ada kepada Peningkatan Auto 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