Ringkasan: johanandyagasiblogspotcom dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan urutan MySQL untuk secara otomatis menghasilkan nomor unik untuk kolom ID dari tabel.
MySQL membuat urutan
Dalam MySQL, berurutan adalah daftar bilangan bulat yang dihasilkan dalam urutan menaik yaitu, 1,2,3 ... Banyak aplikasi perlu urutan untuk menghasilkan angka yang unik terutama untuk misalnya identifikasi, ID pelanggan di CRM, jumlah karyawan HR, jumlah peralatan dalam pelayanan sistem manajemen, dll.
johanandyagasiblogspotcomUntuk membuat urutan di MySQL otomatis, Anda menetapkan
AUTO_INCREMENT
atribut untuk kolom, yang biasanya merupakan kolom kunci utama. Berikut ini adalah aturan yang harus Anda ikuti ketika Anda menggunakan AUTO_INCREMENT
atribut: - Setiap tabel hanya memiliki satu
AUTO_INCREMENT
kolom yang datanya Jenis biasanya integer atau pelampung yang sangat langka. - The
AUTO_INCREMENT
kolom harus diindeks, yang berarti dapat berupaPRIMARY KEY
atauUNIQUE
indeks. - The
AUTO_INCREMENT
kolom harus memilikiNOT NULL
kendala. Ketika Anda menetapkanAUTO_INCREMENT
atribut kolom, MySQL akan membuatNOT NULL
untuk Anda jika Anda tidak mendefinisikan secara eksplisit.
MySQL membuat contoh urutan
Contoh berikut membuat
employees
meja yang emp_no
kolom AUTO_INCREMENT
kolom:CREATE TABLE employees ( emp_no INT ( 4 ) AUTO_INCREMENT PRIMARY KEY , first_name VARCHAR ( 50 ) , last_name VARCHAR ( 50 ) ) ENGINE = INNODB ;
Bagaimana urutan MySQL bekerja
The
AUTO_INCREMENT
kolom memiliki atribut sebagai berikut: - Nilai mulai dari
AUTO_INCREMENT
kolom 1 dan itu meningkat sebesar 1 ketika Anda memasukkanNULL
nilai ke dalam kolom atau ketika Anda menghilangkan nilai dalam INSERT pernyataan. - Untuk mendapatkan nomor urut yang dihasilkan lalu, Anda menggunakan
LAST_INSERT_ID()
fungsi. Anda sering menggunakan ID insert terakhir untuk laporan berikutnya misalnya, memasukkan data ke dalam tabel anak. Urutan yang dihasilkan terakhir adalah unik di sessions.In kata lain, jika koneksi lain menghasilkan nomor urut, dari koneksi Anda, Anda dapat memperolehnya dengan menggunakanLAST_INSERT_ID()
fungsi. Untuk rincian lebih lanjut tentangLAST_INSERT_ID()
fungsi, check it out MySQL LAST_INSERT_ID () fungsi tutorial . - Jika Anda menyisipkan baris baru ke dalam tabel dan menentukan nilai untuk kolom urutan, MySQL akan memasukkan nomor urut jika nomor urut tidak ada dalam kolom atau mengeluarkan kesalahan jika sudah ada. Jika Anda memasukkan nilai baru yang lebih besar dari nomor urutan berikutnya, MySQL akan menggunakan nilai baru sebagai nomor urut dimulai dan menghasilkan nomor urut yang unik lebih besar dari yang ada sekarang untuk penggunaan selanjutnya. Hal ini menciptakan kesenjangan dalam urutan.
- Jika Anda menggunakan UPDATE pernyataan untuk memperbarui
AUTO_INCREMENT
kolom untuk nilai yang sudah ada, MySQL akan mengeluarkan error duplikat kunci jika kolom memiliki indeks yang unik. Jika Anda memperbaruiAUTO_INCREMENT
kolom ke nilai yang lebih besar dari nilai-nilai yang ada di kolom, MySQL akan menggunakan nomor berikutnya dari urutan nomor insert lalu untuk baris berikutnya misalnya, jika nomor urut insert lalu adalah 3, Anda memperbaruinya 10, nomor urut untuk baris baru 4. Lihat contoh di bagian bawah. - Jika Anda menggunakan DELETE pernyataan untuk menghapus baris insert lalu, MySQL mungkin atau mungkin tidak menggunakan kembali nomor urut dihapus tergantung pada mesin penyimpanan meja. Sebuah tabel MyISAM tidak menggunakan kembali nomor urut dihapus jika Anda menghapus baris misalnya, id insert terakhir dalam tabel adalah 10, jika Anda menghapusnya, MySQL masih menghasilkan nomor urutan berikutnya yang 11 untuk baris baru. Mirip dengan tabel MyISAM, InnoDB tabel lakukan menggunakan nomor urut reuse ketika baris akan dihapus.
johanandyagasiblogspotcom Setelah Anda mengatur
AUTO_INCREMENT
atribut untuk kolom, Anda dapat mengatur ulang kenaikan otomatis nilai dalam berbagai cara misalnya, dengan menggunakan ALTER TABLE pernyataan.
Mari kita berlatih dengan urutan MySQL.
- Pertama, masukkan dua karyawan baru ke dalam
employees
tabel:
INSERT INTO employees ( first_name , last_name ) VALUES ( 'John' , 'Doe' ) , 'Mary' , 'Jane' ) ;
- Kedua, pilih data dari employees tabel:
SELECT * FROM employees ;
- Ketiga, menghapus karyawan kedua yang emp_no adalah 2:
DELETE FROM employees WHERE emp_no = 2 ;
- Keempat, memasukkan karyawan baru:
INSERT INTO employees ( first_name , last_name ) VALUES ( 'Jack' , 'Lee' ) ;
Karena mesin penyimpanan employees tabel InnoDB, tidak menggunakan kembali nomor urut dihapus. Baris baru memiliki emp_no 3.
- Kelima, informasi karyawan yang ada dengan emp_no 3-1:
UPDATE employees SET first_name = 'Joe' , emp_no = 1 WHERE emp_no = 3 ;
MySQL mengeluarkan kesalahan duplikat entri untuk kunci primer. Mari kita memperbaikinya:
UPDATE employees SET first_name = 'Joe' , emp_no = 10 WHERE emp_no = 3 ;
- Keenam, masukkan karyawan baru setelah memperbarui nomor urut ke 10:
INSERT INTO employees ( first_name , last_name ) VALUES ( 'Wang' , 'Lee' ) ;
Nomor urut berikutnya dari insert terakhir adalah 4, karena MySQL menggunakan 4 untuk baris baru, bukan 11.
Dalam tutorial ini, Anda telah belajar bagaimana menggunakan urutan MySQL untuk menghasilkan nomor unik untuk kolom kunci utama dengan menetapkan kolom AUTO_INCREMENT atribut.
Apabila kurang paham, silahkan nanya sama admin saya sendiri ya kawan :')
0 Komentar untuk " (5) MySQL Urutan "