Bagaimana untuk Mengekalkan Peningkatan Auto Semasa Menukar Kunci Utama dalam MySQL?

Linda Hamilton
Lepaskan: 2024-10-30 00:10:02
asal
664 orang telah melayarinya

How to Maintain Auto-Increment While Changing  Primary Key in MySQL?

Mengekalkan Auto-Tambahan Semasa Menukar Kunci Utama kepada Memberid

Dalam MySQL, mencipta jadual dengan lajur peningkatan automatik memerlukannya juga ditetapkan sebagai kunci utama. Walau bagaimanapun, dalam kes di mana kunci utama perlu menjadi medan yang berbeza, pengguna mungkin menghadapi ralat "#1075 - Takrif jadual yang salah."

Untuk menyelesaikan isu ini, adalah mungkin untuk mengekalkan lajur peningkatan automatik. (id) semasa membuat memberid kunci utama. Ini boleh dicapai dengan mencipta indeks (kunci) pada lajur id:

CREATE TABLE members (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `memberid` VARCHAR(30) NOT NULL,
  `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `firstname` VARCHAR(50) NULL,
  `lastname` VARCHAR(50) NULL,
  PRIMARY KEY (`memberid`),
  KEY (`id`)
);
Salin selepas log masuk

Penyelesaian ini memastikan prestasi jadual kekal dioptimumkan untuk sisipan dan kemas kini berjujukan, kerana lajur id kekal meningkat secara automatik . Sementara itu, pertanyaan boleh mengenal pasti pengguna dengan berkesan dengan memberi mereka.

Dengan menambahkan indeks pada lajur id, MySQL boleh mencari baris dengan cepat menggunakan medan ini, walaupun ia bukan kunci utama. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa prestasi mungkin sedikit perlahan berbanding menggunakan lajur id secara langsung sebagai kunci utama.

Pendekatan ini membolehkan kefleksibelan dalam reka bentuk pangkalan data sambil mengekalkan prestasi yang baik, mengorbankan ruang cakera minimum untuk meningkatkan kebolehgunaan dan pengoptimuman pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Peningkatan Auto Semasa Menukar Kunci Utama 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!