Home > Tutorial > Drupal: Bulk Insert

Drupal: Bulk Insert

///
Comments are Off

Seringkali ketika melakukan coding kita memerlukan proses insert ke database dengan data lebih dari satu. Misalnya akan menambahkan data student sebanyak 10 orang dalam satu waktu.

Cara paling simple adalah looping dari array student tersebut, dan insert satu persatu datanya ke database. Cara ini sah-sah saja, tetapi membutuhkan 10 kali proses insert data. Artinya aplikasi melakukan komunikasi ke server database sebanyak 10 kali. Apabila salah satu gagal, maka hanya record tersebut yg gagal. Contoh kodenya sebagai berikut:

$arrStudents = array(.......);

foreach ($arrStudents as $student) {
	db_insert('tblStudents')->fields(
		array(
			'name' => $student['name'], 
			'nim' => $student['nim']
			)
	)->execute();
}

Ada cara yang lebih bagus/optimize untuk melakukan hal tersebut adalah bulk insert. Pada prinsipnya cara ini adalah melakukan proses insert 10 data dalam 1 kali eksekusi saja. Apabila salah satu gagal, maka seluruh proses dibatalkan. Contoh kodenya adalah sebagai berikut:

$arrStudents = array(.......);

$qr_insert = db_insert('tblStudents')->fields(array('name', 'nim'));
foreach ($arrStudents as $student) {
	$qr_insert->values(
		array(
			$student['name'], 
			$student['nim']
			)
	);
}
$qr_insert->execute();

Itu saja tentang bulk insert.

Happy coding!

You may also like
Ciyeee, Drupal dan WordPress minta update barengan.
Membuat Chart di Excel menggunakan Drupal
[Drupal] Mengubah tampilan menu local task dari tabs menjadi dropdown
Tabulasi data menggunakan views pada Drupal 7