Terkadang Anda mungkin perlu membuat banyak data dengan cepat untuk pengujian beban. Anda dapat memilih dan memasukkan ke dalam tabel yang sama di MySQL. Pendekatan ini dengan cepat menumbuhkan tabel Anda yang ada. Ini memberi banyak catatan untuk dimainkan. Berikut adalah beberapa cara untuk melakukannya.
Masukkan ke tabel yang sama di MySQL
Sintaks
INSERT INTO table_name ( field1, field2,...fieldN ) SELECT field1, field2, fieldN from table_name;
Contoh
Untuk tabel nama_tabel dengan kolom a, b, c
+------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 3 | 3 | 3 | +------+------+------+
Masukkan ke dalam tabel yang sama di MySQL semua catatan dari tabel
mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 3 | 3 | 3 | | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 3 | 3 | 3 | +------+------+------+
Menyisipkan ke dalam tabel yang sama di MySQL beberapa catatan dari tabel
mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name where a=1 or a=3; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 3 | 3 | 3 | | 1 | 2 | 3 | | 3 | 3 | 3 | +------+------+------+
Anda mungkin mendapatkan kesalahan nilai duplikat jika salah satu bidang ini adalah kunci utama atau Anda memiliki batasan keunikan untuk bidang. Inilah cara menghindarinya.
Masukkan ke tabel yang sama di MySQL tanpa duplikat
Sintaks
INSERT INTO table_name ( field1, field2,...fieldN ) SELECT field1, field2, fieldN from table_name ON DUPLICATE KEY UPDATE primary_key_field=<expression> ;
Contoh
Untuk tabel nama_tabel dengan kolom a, b, c dan c adalah kunci utama
+------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | +------+------+------+
Masukkan ke dalam tabel yang sama di MySQL semua catatan dari tabel
mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name ON DUPLICATE KEY c=c+1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 1 | 2 | 4 | | 4 | 5 | 7 | | 7 | 8 | 10 | +------+------+------+
Menyisipkan ke dalam tabel yang sama di MySQL beberapa catatan dari tabel
mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name where a=1 or a=3 ON DUPLICATE KEY c=c+1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 1 | 2 | 5 | +------+------+------+
Anda dapat membaca lebih lanjut tentang Bagaimana melakukan penyisipan massal di MySQL