Buat id secara otomatis di php

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

+----+ | id | +----+ | 1 | | 2 | | 3 | +----+ 3 rows in set (0.04 sec)

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-1234
PREFIX-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:

Postingan terbaru

LIHAT SEMUA