Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara membuat urutan di MySQL?

Ini adalah solusi yang disarankan oleh Panduan MySQl :

Jika expr diberikan sebagai argumen ke LAST_INSERT_ID(), nilai argumen dikembalikan oleh fungsi dan diingat sebagai nilai berikutnya yang akan dikembalikan oleh LAST_INSERT_ID(). Ini dapat digunakan untuk mensimulasikan urutan:

Buat tabel untuk menampung penghitung urutan dan inisialisasi:

    mysql> CREATE TABLE sequence (id INT NOT NULL);
    mysql> INSERT INTO sequence VALUES (0);

Gunakan tabel untuk menghasilkan nomor urut seperti ini:

    mysql> UPDATE sequence SET id=LAST_INSERT_ID(id+1);
    mysql> SELECT LAST_INSERT_ID();

Pernyataan UPDATE menambah penghitung urutan dan menyebabkan panggilan berikutnya ke LAST_INSERT_ID() untuk mengembalikan nilai yang diperbarui. Pernyataan SELECT mengambil nilai itu. Fungsi mysql_insert_id() C API juga dapat digunakan untuk mendapatkan nilai. Lihat Bagian 23.8.7.37,“mysql_insert_id()”.

Anda dapat membuat urutan tanpa memanggil LAST_INSERT_ID(), tetapi kegunaan fungsi dengan cara ini adalah bahwa nilai ID dipertahankan di server sebagai nilai yang dihasilkan secara otomatis terakhir. Ini aman untuk multi-pengguna karena banyak klien dapat mengeluarkan pernyataan UPDATE dan mendapatkan nilai urutannya sendiri dengan pernyataan SELECT (atau mysql_insert_id()), tanpa memengaruhi atau dipengaruhi oleh klien lain yang menghasilkan nilai urutannya sendiri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan perbedaan waktu antara dua kali di PHP

  2. Cara Menghitung Margin Di MySQL

  3. Gunakan Database Relasional MySQL di Fedora 14

  4. Upgrade Skema Online di MySQL Galera Cluster Menggunakan Metode RSU

  5. Mengambil data dari database MySQL ke daftar dropdown html