Menukar ID Jadual Sedia Ada Secara Retroaktif kepada Peningkatan Auto dalam MySQL
Situasi pangkalan data tertentu timbul apabila ID yang dijana secara manual dilaksanakan dalam jadual tanpa auto -ciri kenaikan. Dalam kes sedemikian, adalah wajar untuk meningkatkan ID tersebut kepada kenaikan automatik untuk meningkatkan kecekapan pengurusan data. Artikel ini menyelidiki proses penambahan secara retrospektif autokenaikan pada ID kunci utama.
Penyelesaian: Mengubah Suai Definisi Lajur
Untuk mengubah kunci utama menjadi autokenaikan medan, MySQL menyediakan arahan ALTER TABLE dengan pilihan MODIFY COLUMN. Pertimbangkan jadual contoh ini:
<code class="sql">CREATE TABLE foo ( id INT NOT NULL, PRIMARY KEY (id) );</code>
Untuk menjadikan lajur id meningkat secara automatik, gunakan arahan berikut:
<code class="sql">ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;</code>
Pengesahan dan Ujian
Selepas melaksanakan pernyataan pengubahan, sahkan perubahan:
<code class="sql">SHOW CREATE TABLE foo;</code>
Output harus menunjukkan bahawa lajur id telah diubah suai kepada AUTO_INCREMENT.
Untuk menguji kefungsian, masukkan rekod baharu tanpa menyatakan nilai untuk lajur id:
<code class="sql">INSERT INTO foo () VALUES ();</code>
Baris yang disisipkan harus menerima ID unik dan bertambah secara automatik.
Mengatasi Kod Ralat 150
Jika anda menemui kod ralat 150 (HY000) semasa proses pengubahsuaian, ini mungkin menunjukkan konflik dengan kekangan kunci asing. Untuk menyelesaikan isu ini, rujuk sumber berikut untuk menyelesaikan masalah:
Atas ialah kandungan terperinci Bagaimana untuk Menukar ID Jadual Sedia Ada secara Retroaktif kepada Auto-Increment dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!