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

Patricia Arquette
Lepaskan: 2024-10-27 10:43:03
asal
271 orang telah melayarinya

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

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!