Rumah  >  Artikel  >  pangkalan data  >  Cara menggunakan fungsi auto-increment dalam MySQL

Cara menggunakan fungsi auto-increment dalam MySQL

PHPz
PHPzasal
2023-04-21 10:12:208974semak imbas

Sebagai salah satu pangkalan data sumber terbuka yang paling popular pada masa ini, fungsi MySQL yang berkuasa dan kemudahan penggunaan juga menjadikannya popular. Antaranya, auto-increment adalah salah satu fungsi yang biasa digunakan dalam MySQL. Artikel ini akan memperkenalkan cara MySQL menggunakan fungsi auto-increment.

1. Apakah itu auto-increment

Auto-increment ialah fungsi pertumbuhan automatik dalam pangkalan data MySQL. Apabila terdapat medan kenaikan automatik dalam jadual, setiap kali sekeping data baharu dimasukkan, medan kenaikan automatik akan meningkat secara automatik sebanyak 1. Peningkatan automatik boleh menyelesaikan beberapa masalah dengan baik, seperti penjanaan ID automatik, penjanaan jujukan automatik, dsb.

2. Cara menetapkan medan kenaikan automatik

Untuk menetapkan kenaikan automatik, anda perlu menambah atribut AUTO_INCREMENT pada medan yang berkaitan semasa membuat jadual. Contohnya:

BUAT JADUAL user (
id int(11) BUKAN NULL AUTO_INCREMENT,
name varchar(30) BUKAN NULL,
KUNCI UTAMA (id )
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Dalam pernyataan di atas, kami menetapkan id sebagai medan auto-increment, jenisnya ialah int dan panjangnya ialah 11. Pilihan AUTO_INCREMENT memberitahu MySQL untuk memberikan nilai baharu secara automatik kepada medan id setiap kali sekeping data dimasukkan.

Untuk menambah medan autokenaikan pada jadual yang telah dibuat, anda perlu menggunakan pernyataan ALTER TABLE. Sebagai contoh:

UBAH JADUAL user TAMBAH LAjur age INT(11) BUKAN NULL AUTO_INNCREMENT SELEPAS name;

Dalam contoh ini, kami menambah nilai automatik bernama umur Tambah medan . Ambil perhatian bahawa apabila menambah medan autokenaikan, pastikan medan tersebut TIDAK NULL.

3. Cara memasukkan medan kenaikan automatik

Apabila memasukkan medan kenaikan automatik, kita boleh melakukan sesuatu seperti ini:

MASUKKAN KE DALAM user (name) NILAI (' Zhang San');

Menyoal jadual boleh mendapat:

PILIH * DARI user;

id name
1 张三

Anda boleh melihatnya walaupun jika kita tidak mempunyainya dalam pernyataan Berikan nilai kepada id, dan medan id ditambah secara automatik. Ini kerana terdapat AUTO_INCREMENT dalam sifat medan. Atribut ini memberitahu MySQL bahawa apabila data dimasukkan ke dalam jadual, MySQL secara automatik akan memberikan nilai unik kepada medan id supaya ia akan meningkat secara automatik.

Jika kita memasukkan sekeping data lagi, seperti berikut:

MASUKKAN KE DALAM user (name) NILAI ('李思');

Menyoal jadual kita boleh keluar:

PILIH * DARI user;

id name
1 张三
2 李四

Anda dapat melihat bahawa id itu dinaikkan semula secara automatik, iaitu 2.

4. Had medan kenaikan automatik

Semasa menggunakan medan kenaikan automatik, kami juga perlu memahami beberapa had kenaikan automatik:

  1. Auto- increment Medan hanya boleh daripada jenis integer, bukan perpuluhan, teks, dsb.
  2. Nilai medan kenaikan automatik adalah unik dalam jadual, iaitu, hanya boleh ada satu medan kenaikan automatik dalam jadual dan ia hanya boleh menjadi KUNCI UTAMA atau KUNCI UNIK.
  3. Setelah medan auto-increment digunakan, ia tidak boleh direka bentuk semula, jika tidak, anda akan menghadapi masalah seperti kehilangan data.

5. Ringkasan

Autokenaikan ialah fungsi yang biasa digunakan dalam reka bentuk jadual MySQL, dan ia juga boleh menyelesaikan beberapa masalah dengan baik dalam pembangunan sebenar. Artikel ini menerangkan cara MySQL menjana medan autoincrement melalui atribut Auto_Increment dan cara menggunakan medan autoincrement untuk menambah nilai jujukan semasa memasukkan data. Pada masa yang sama, kita juga perlu memberi perhatian kepada pengehadan medan kenaikan automatik dan beberapa langkah berjaga-jaga.

Atas ialah kandungan terperinci Cara menggunakan fungsi auto-increment 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