Memasukkan beberapa baris di mysql

Adalah database query lebih cepat jika saya menyisipkan beberapa baris sekaligus:

seperti

INSERT....

UNION

INSERT....

UNION

(Saya perlu untuk menyisipkan seperti 2-3000 baris)

Mengomentari pertanyaan (3)
Larutan

INSERT pernyataan yang menggunakan nilai-NILAI sintaks dapat menyisipkan beberapa baris. Untuk melakukan hal ini, termasuk beberapa daftar nilai kolom, masing-masing tertutup dalam tanda kurung dan dipisahkan dengan tanda koma.

Contoh:

INSERT INTO tbl_name
    (a,b,c)
VALUES
    (1,2,3),
    (4,5,6),
    (7,8,9);

Sumber

Komentar (7)

Jika anda memiliki data anda dalam sebuah file teks, anda dapat menggunakan LOAD DATA INFILE.

Ketika loading tabel dari file teks, menggunakan LOAD DATA INFILE. Ini biasanya adalah 20 kali lebih cepat daripada menggunakan MENYISIPKAN pernyataan.

Mengoptimalkan MENYISIPKAN Pernyataan

Anda dapat menemukan lebih banyak tips tentang cara untuk mempercepat anda menyisipkan pernyataan pada link di atas.

Komentar (5)
BEGIN;
INSERT INTO test_b (price_sum)
  SELECT price
  FROM   test_a;
INSERT INTO test_c (price_summ) 
  SELECT price
FROM   test_a;
COMMIT;
Komentar (2)

Berikut ini adalah PHP larutan siap untuk digunakan dengan n:m (banyak-ke-banyak hubungan) tabel :

// get data
$table_1 = get_table_1_rows();
$table_2_fk_id = 123;

// prepare first part of the query (before values)
$query = "INSERT INTO `table` (
   `table_1_fk_id`,
   `table_2_fk_id`,
   `insert_date`
) VALUES ";

//loop the table 1 to get all foreign keys and put it in array
foreach($table_1 as $row) {
    $query_values[] = "(".$row["table_1_pk_id"].", $table_2_fk_id, NOW())";
}

// Implode the query values array with a coma and execute the query.
$db->query($query . implode(',',$query_values));
Komentar (1)
// db table name / blog_post / menu /  site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO product_cate (site_title, sub_title) 
  VALUES ('$site_title', '$sub_title')";

// db table name / blog_post / menu /  site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO menu (menu_title, sub_menu)
  VALUES ('$menu_title', '$sub_menu', )";

// db table name / blog_post /  menu /  site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO blog_post (post_title, post_des, post_img)
  VALUES ('$post_title ', '$post_des', '$post_img')";
Komentar (2)