Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah Saya Boleh Menukar ID Kunci Utama Sedia Ada kepada Auto-Incrementers dalam MySQL?

Bagaimanakah Saya Boleh Menukar ID Kunci Utama Sedia Ada kepada Auto-Incrementers dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 10:43:03272semak imbas

How Can I Convert Existing Primary Key IDs to Auto-Incrementers in MySQL?

Menukar ID Kunci Utama kepada Auto-Incrementer dalam MySQL

Sesuatu pangkalan data yang diperoleh daripada pembangun lain mungkin tidak mempunyai auto-incrementer yang didayakan pada jadualnya , walaupun mempunyai ID kunci utama. Ini menimbulkan persoalan sama ada ID kunci utama ini boleh ditukar kepada penambah automatik.

Penyelesaian

Untuk menukar ID kunci utama sedia ada kepada penaik automatik, anda boleh gunakan pernyataan ALTER TABLE dengan klausa MODIFY COLUMN. Ini membolehkan anda mengubah suai takrifan lajur dan menentukan pilihan AUTO_INCREMENT.

Contohnya:

<code class="mysql">ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;</code>

Di sini, jadual foo mempunyai lajur bernama id yang tidak dinaikkan secara automatik pada masa ini. Selepas melaksanakan pernyataan, lajur id akan diubah suai untuk menggunakan kenaikan automatik.

Nota:

  • Kekangan kunci utama asal kekal tidak terjejas oleh pengubahsuaian ini .
  • Anda boleh mengesahkan perubahan dengan menggunakan pernyataan SHOW CREATE TABLE untuk memaparkan definisi jadual yang dikemas kini.
  • Apabila memasukkan baris baharu ke dalam jadual, lajur id akan diberikan nilai baharu secara automatik .

Menyelesaikan masalah

Jika anda menghadapi ralat seperti "Ralat semasa menamakan semula '.DBNAME#sql-6c8_62259c' kepada '.DBNAMEdealer_master_events'," ia berkemungkinan disebabkan oleh konflik dengan kekangan utama asing. Untuk mendiagnosis dan menyelesaikan isu, rujuk sumber seperti:

  • Apakah yang dimaksudkan dengan ralat mysql 1025 (HY000): Ralat semasa menamakan semula '.foo' (errorno: 150)?
  • http://www.simplicity.org/notes/archives/2008/03/mysql_errno_150.html

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar ID Kunci Utama Sedia Ada kepada Auto-Incrementers 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