varios varias tablas registros multiples multiple mas insertar datos mysql sql-insert

varias - Insertando mĂșltiples filas en mysql



insertar multiples registros en postgresql (5)

¿La consulta de la base de datos es más rápida si inserto varias filas a la vez?

me gusta

INSERT.... UNION INSERT.... UNION

(Necesito insertar como 2-3000 filas)


INSERT que utilizan la sintaxis de VALUES pueden insertar varias filas. Para hacer esto, incluya múltiples listas de valores de columna, cada uno entre paréntesis y separados por comas.

Ejemplo:

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

Source


Aquí hay una solución PHP lista para usar con una tabla: m (relación de muchos a muchos):

// 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));


Si tiene sus datos en un archivo de texto, puede usar LOAD DATA INFILE .

Al cargar una tabla desde un archivo de texto, use LOAD DATA INFILE. Esto suele ser 20 veces más rápido que usar las instrucciones INSERT.

Optimización de declaraciones INSERT

Puede encontrar más consejos sobre cómo acelerar sus declaraciones de inserción en el enlace de arriba.


// 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'')";


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