• User

    Query Mysql per inserimento multiplo

    Salve ragazzi, è da diversi giorni che cerco risposta per un query multipla da eseguire in un database mysql, ma in giro non ho ancora trovato nessuna risposta che facesse al caso mio...

    Ho una tabella di questo tipo:
    cus_id |cu_id |csid |price

    in cui cus_id è un autoincrement
    cu_id deve andare da 1 a 10.000
    csid deve sempre contenere 1
    price deve sempre contenere 1

    per evitare di inserire milioni di dati manualmente, vorrei creare una query che inserisse dinamicamente i dati, essa dovrebbe fare tot inserimenti (dipendentemente da quanto voglio dichiarare nel valore del ciclo) e inserire dentro i campi cu_id un numero da 1 a 10.000 (che ovviamente si incrementa di 1 per ogni inserimento), in csid il numero 1 e in price il numero 1.

    Se non sono stato chiaro, chiedetemi e cercherò di spiegarmi meglio.

    Grazie in anticipo!!!


  • Consiglio Direttivo

    Ciao paolofru,
    immagino che creandoti un form dove inserisci il numero di inserimenti, potresti risolvere con un ciclo for di questo tipo:
    [php]<?php
    $y="";
    $y=$_POST['y'];

    for ($x=1;$x<=$y;$x++)
    {
    $sql="INSERT INTO nome_tabella (cu_id,csid,price) VALUES ('$x',1,1)";
    $query=@mysql_query($sql) or die (mysql_error());
    }
    ?>[/php]
    :ciauz:


  • User

    Ok, ora provo con il ciclo in php, ma non è possibile farlo direttamente dal phpmyadmin scrivendo un ciclo in mysql?


  • Consiglio Direttivo

    Per mia esperienza no, ma questo non vuol dire che non si possa fare, semplicemente potrei non conoscere il metodo. 😉


  • User

    [..]

    Hehe :D, grazie comunque per l'aiuto!


  • Consiglio Direttivo

    Di nulla, ci si legge in giro. :ciauz:


  • User

    Ok, ho risolto:

    <?php
    //dati connessione
    $db_host = "localhost";
    $db_user = "user";
    $db_password = "pass";
    $db_database = "database";

    $connessione=mysql_connect($db_host,$db_user,$db_password);
    $database=mysql_db_query($db_database," query ",$connessione);

    //dichiaro il numero di inserimento
    $y="100";

    //il ciclo inserisce le righe nel database
    for ($x=1;$x<=$y;$x++)
    {
    $sql="INSERT INTO tabella (cu_id,csid,price) VALUES ('$x',1,1)";
    $query=@mysql_query($sql) or die (mysql_error());
    }

    //visualizza il numero delle righe create
    echo $y . "righe create";
    ?>

    Grazie davvero! 😉