Digamos que quiero insertar datos:

Row 1: People = '40', Places = '15'
Row 2: People = '5', Places = '10'

Entiendo que esto es cómo se desea ejecutar el anterior:

mysql_query("INSERT INTO mytable(`People`, `Places`) 
VALUES ('40', '15'),('5', '10')");

Pero si lo que quería insertar en más de dos columnas con una sola consulta? ¿Qué pasa si los datos se insertaron como este:

Row 1: People = '40', Places = '15'
Row 2: People = '5', Places = '10'
Row 3: Things = '140', Ideas = '20'
Row 4: People = '10', Things = '5', Ideas = '13'

Me parece que no puede encontrar una pregunta como esta en cualquier otro lugar.

  • Supongo que usted no puede hacer esto con una sola consulta!
InformationsquelleAutor Norse | 2012-04-23

4 Comentarios

  1. 3
    mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`)
     VALUES ('40', '15',  null, null),
            (null, '5',   '10', null),
            ('10',  null, '11', '12')");

    O si desea utilizar 0 en lugar de null, es probable que sea más amigable para la aplicación (no tirar null errores)

    mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`)
     VALUES ('40', '15', '0',  '0'),
            ('0',  '5',  '10', '0'),
            ('10', '0',  '11', '12')");
  2. 1
    INSERT INTO mytable(`People`, `Places`,`Things`,`Ideas`) 
    VALUES ('40', '15', null, null),
           ('5', '10',null, null),
           (null, null, '140','20'),
           ('10',null,'5','13')");
  3. 1

    Podría escribir aparte de las instrucciones de consulta en una sola línea como esta:

    insert into table_x (collumn_x,collumn_y) values (... ; 
    insert into table_x (collumn_y, collumn_z) values (... 

    y así sucesivamente

    la estructura para montar la declaración dinámicamente, puede ser complejo para construir, pero al menos es la única solución que puedo encontrar para u en el momento

    espero que esto ayude

Dejar respuesta

Please enter your comment!
Please enter your name here