MySQL memiliki kata kunci AUTO_INCREMENT untuk melakukan peningkatan otomatis. Nilai awal untuk AUTO_INCREMENT adalah 1, yang merupakan nilai default. Itu akan mendapatkan kenaikan sebesar 1 untuk setiap rekor baru
Untuk mendapatkan id auto increment berikutnya di MySQL, kita bisa menggunakan fungsi last_insert_id() dari MySQL atau auto_increment dengan SELECT
Membuat tabel, dengan "id" sebagai penambahan otomatis
mysql> create table NextIdDemo -> ( -> id int auto_increment, -> primary key(id) -> ); Query OK, 0 rows affected (1.31 sec)Memasukkan record ke dalam tabel
mysql> insert into NextIdDemo values(1); Query OK, 1 row affected (0.22 sec) mysql> insert into NextIdDemo values(2); Query OK, 1 row affected (0.20 sec) mysql> insert into NextIdDemo values(3); Query OK, 1 row affected (0.14 sec) _Untuk menampilkan semua catatan
mysql> select *from NextIdDemo;Berikut ini adalah outputnya
Kami telah memasukkan 3 catatan di atas. Oleh karena itu, id berikutnya harus 4
Berikut ini adalah sintaks untuk mengetahui id berikutnya
SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = "yourDatabaseName" AND TABLE_NAME = "yourTableName" _Berikut kuerinya
mysql> SELECT AUTO_INCREMENT -> FROM information_schema.TABLES -> WHERE TABLE_SCHEMA = "business" -> AND TABLE_NAME = "NextIdDemo";Ini adalah output yang menampilkan peningkatan otomatis berikutnya
+----------------+ | AUTO_INCREMENT | +----------------+ | 4 | +----------------+ 1 row in set (0.25 sec) _Masalah nyata pertama saya ketika bekerja dengan php/mysql (ya, maksud saya, bukan dengan bahasa lain, mungkin) adalah autoId
Persyaratan saya (yang saya berikan sendiri) adalah. menghasilkan ID untuk setiap permintaan ke server dengan format
$requestId = $prefix . '-' . date('yyyyMMdd') . '-' . $autoId;Dengan $autoId diberikan dari 1 -> 9999, setel ulang setiap hari ke 1. Misalnya
PREFIX-19700101-1234PREFIX-19700101-1235
PREFIX-19700102-0001 // New day, reset ID to 1
PREFIX-19700102-0002 // Keep on incrementing_
Seperti yang Anda ketahui, mySQL memiliki atribut luar biasa yang disebut AUTO_INCREMENT, izinkan kami memiliki satu Id unik untuk setiap penyisipan (dan kenaikan tentunya), kami dapat menggunakannya sepenuhnya untuk membuat Id dari 1 -> MAX. Sisa pekerjaan disetel ulang menjadi 1 harian
Kami punya beberapa ide
- TRUNCATE TABLE: