Tutorial MySQL ini menjelaskan cara membuat urutan menggunakan atribut AUTO_INCREMENT di MySQL dengan sintaks dan contoh.
Penjelasan
Di MySQL, Teman-teman bisa membuat kolom yang berisi urutan angka (1, 2, 3, dan seterusnya) dengan menggunakan atribut AUTO_INCREMENT. Atribut AUTO_INCREMENT digunakan saat teman-teman perlu membuat nomor unik untuk bertindak sebagai primary key dalam sebuah tabel.
Syntax
Penulisan Syntax untuk membuat urutan (atau menggunakan atribut AUTO_INCREMENT) di MySQL adalah:
|
1 2 3 4 5 6 |
CREATE TABLE table_name ( column1 datatype NOT NULL AUTO_INCREMENT, column2 datatype [ NULL | NOT NULL ], ... ); |
- AUTO_INCREMENT
- Atribut yang digunakan saat teman-teman ingin MySQL menetapkan urutan angka secara otomatis ke sebuah bidang (pada intinya, membuat field autonumber).
- NULL or NOT NULL
- Setiap kolom harus didefinisikan sebagai NULL atau NOT NULL. Jika parameter ini dihilangkan, basis data mengasumsikan NULL sebagai default.
Catatan
- Teman-teman dapat menggunakan fungsi LAST_INSERT_ID untuk menemukan nilai terakhir yang ditetapkan oleh bidang AUTO_INCREMENT.
Contoh
Mari kita lihat contoh bagaimana menggunakan urutan atau atribut AUTO_INCREMENT di MySQL.
Sebagai contoh:
|
1 2 3 4 5 6 7 |
CREATE TABLE contacts ( contact_id INT(11) NOT NULL AUTO_INCREMENT, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, CONSTRAINT contacts_pk PRIMARY KEY (contact_id) ); |
Contoh MySQL menggunakan Atribut AUTO_INCREMENT ini membuat tabel yang disebut kontak yang memiliki 4 kolom dan satu primary key:
- Kolom pertama disebut contact_id yang dibuat sebagai datatype INT (maksimal 11 digit panjangnya) dan tidak dapat berisi nilai NULL. Ini ditetapkan sebagai field AUTO_INCREMENT yang berarti bahwa itu adalah field autonumber (mulai dari 1, dan incrementing oleh 1, kecuali ditentukan lain.)
- Kolom kedua disebut last_name yang merupakan datatype VARCHAR (maksimal 30 karakter) dan tidak dapat berisi nilai NULL.
- Kolom ketiga disebut first_name yang merupakan datatype VARCHAR (panjang maksimal 25 karakter) dan dapat berisi nilai NULL
- Kolom keempat disebut ulang tahun yaitu date datatype dan dapat berisi nilai NULL.
- Kunci utama disebut contacts_pk dan diatur ke kolom contact_id.
Mengatur nilai awal atribut AUTO_INCREMENT.
Sekarang setelah teman-teman membuat tabel menggunakan atribut AUTO_INCREMENT, bagaimana teman-teman dapat mengubah nilai awal bidang AUTO_INCREMENT jika teman-teman tidak ingin memulai dari 1?
teman-teman dapat menggunakan pernyataan ALTER TABLE untuk mengubah atau menetapkan nilai berikutnya yang ditetapkan oleh AUTO_INCREMENT.
Syntax
Di MySQL, syntax untuk mengubah nilai awal kolom atribut AUTO_INCREMENT dengan menggunakan pernyataan ALTER TABLE adalah:
|
1 |
ALTER TABLE table_name AUTO_INCREMENT = start_value; |
- table_name
- Nama tabel yang nilai AUTO_INCREMENT yang ingin Anda ubah. Karena tabel di MySQL hanya bisa berisi satu kolom AUTO_INCREMENT, Anda hanya diminta untuk menentukan nama tabel yang berisi urutannya. Anda tidak perlu menentukan nama kolom yang berisi nilai AUTO_INCREMENT.
- start_value
- Nilai berikutnya dalam urutan untuk ditetapkan dalam kolom AUTO_INCREMENT.
Contoh
Mari kita lihat contoh bagaimana mengubah nilai awal kolom AUTO_INCREMENT dalam tabel di MySQL.
Sebagai contoh:
|
1 |
ALTER TABLE contacts AUTO_INCREMENT = 100; |
Contoh atribut AUTO_INCREMENT MySQL ini akan mengubah nilai berikutnya di bidang AUTO_INCREMENT (yaitu: nilai berikutnya dalam urutan) menjadi 100 untuk field contact_id di tabel kontak.