Bagaimana cara mendapatkan nilai AUTO_INCREMENT saat ini untuk tabel di MySQL?
mysql
auto-increment
Bparise
sumber
sumber
Jawaban:
Anda bisa mendapatkan semua data tabel dengan menggunakan kueri ini:
Anda bisa mendapatkan informasi ini dengan menggunakan kueri ini:
sumber
DATABASE()
bukan nama database eksplisit.SELECT MAX(id) FROM table_name
?Saya yakin Anda sedang mencari fungsi LAST_INSERT_ID () MySQL . Jika di baris perintah, jalankan saja yang berikut:
Anda juga bisa mendapatkan nilai ini melalui kueri SELECT:
sumber
Jika Anda hanya ingin tahu nomornya, daripada mendapatkannya dalam kueri maka Anda dapat menggunakan:
Anda seharusnya melihat auto_increment di bagian bawah
sumber
1
.Meskipun jawaban methai benar jika Anda menjalankan kueri secara manual, masalah terjadi ketika 2 transaksi / koneksi bersamaan benar-benar menjalankan kueri ini saat runtime dalam produksi (misalnya).
Baru saja mencoba secara manual di meja kerja MySQL dengan 2 koneksi dibuka secara bersamaan:
Transaksi 1:
Transaksi 2:
Sisipan transaksi 1 ok: Sisipan transaksi 2 salah: Kode Kesalahan: 1062. Entri duplikat '21' untuk kunci 'PRIMER'.
Solusi yang bagus akan menjadi jawaban jvdub karena per transaksi / koneksi 2 sisipan akan menjadi:
Transaksi 1:
Transaksi 2:
Tetapi kita harus menjalankan last_insert_id () tepat setelah memasukkan! Dan kita dapat menggunakan kembali id itu untuk dimasukkan ke tabel lain di mana kunci asing diharapkan!
Selain itu, kami tidak dapat menjalankan 2 kueri sebagai berikut:
karena kami sebenarnya tertarik untuk mengambil / menggunakan kembali ID itu di tabel lain atau untuk kembali!
sumber
last_insert_id()
AUTO_INCREMENT
nilai.kode sampel yang dapat dieksekusi mysqli:
sumber
Jika kolom bertambah otomatis di sql server maka untuk melihat nilai penambahan otomatis saat ini, dan jika Anda ingin mengedit nilai itu untuk kolom itu gunakan kueri berikut.
sumber
Permintaan untuk memeriksa persentase "penggunaan" AUTO_INCREMENT untuk semua tabel dari satu skema yang diberikan (kecuali kolom dengan tipe bigint yang tidak ditandatangani ):
sumber
Saya mencari yang sama dan berakhir dengan membuat metode statis di dalam kelas Helper (dalam kasus saya saya menamakannya App \ Helpers \ Database).
Metode
Untuk memanggil metode dan dapatkan AUTO_INCREMENT MySql cukup gunakan yang berikut ini:
Semoga ini bisa membantu.
sumber