Nilai peningkatan otomatis dihasilkan oleh database itu sendiri, saat penyisipan selesai; yang berarti Anda tidak bisa mendapatkannya sebelum melakukan kueri penyisipan yang sebenarnya.
Solusi yang Anda usulkan bukanlah solusi yang sering digunakan -- yaitu :
- masukkan beberapa data yang setengah kosong
- dapatkan nilai peningkatan otomatis yang telah dibuat
- lakukan perhitungan Anda, menggunakan nilai peningkatan otomatis
- perbarui baris untuk menempatkan data baru/lengkap pada tempatnya -- menggunakan peningkatan otomatis yang dibuat sebelumnya di
where
klausaupdate
kueri, untuk mengidentifikasi baris mana yang sedang diperbarui.
Tentu saja, sebagai tindakan pencegahan keamanan, semua operasi ini harus dilakukan dalam transaksi (untuk memastikan perilaku "semua atau tidak sama sekali")
Sebagai pseudo-code :
begin transaction
insert into your table (half empty values);
$id = get last autoincrement id
do calculations
update set data = full data where id = $id
commit transaction