Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di ertele
    Registrato dal
    Mar 2008
    Messaggi
    14

    fare un update ed una insert nella stessa query

    Ciao a tutti,
    sto lavorando ad un progetto e sono appena incappato in un piccolo intoppo con MySQL.

    Ho 2 tabelle una chiamata 'aziende' e l'altra chiamata 'referenti', nella prima tabella c'è una lista di aziende(con campi tipo: 'ragione_sociale', 'indirizzo', 'cap', città, 'telefono', 'fax', ecc, insomma informazioni generiche riguardanti l'azienda), la seconda tabella è invece dedicata ai referenti (con i campi: 'nome', 'cognome', 'ruolo', 'telefono', 'email') aziendali da contattare per qualsiasi cosa. Il problema è che i referenti non possono essere un numero ben definito per ogni azienda, ma bensì c'è la possibilità di aggiungerne quanti se ne vuole per ogni azienda. E fin qui non ci sono problemi.

    Il problema nasce adesso che sto creando il front-end, nel quale c'è una pagina con la lista delle aziende (quindi una SELECT * FROM aziende) ed un bottone affianco ad ogni azienda che ne permette l'edit. Cliccando sul bottone si apre una pagina con un form diviso in 2 sezioni: una presenta le informazioni sull'azienda, mentre l'altra presenta la lista di referenti. In questa altra sezione è possibili sia modificare i dati dei referenti già presenti, sia aggiungerne di nuovi. E qui mi sono bloccato.

    Nel momento in cui aggiungo un nuovo referente (quindi comparirà un altro fieldset con i campi 'nome', 'cognome', 'ruolo', 'telefono', 'email') e compilo i campi dedicati e premo SALVA lo script php si prende tutta la lista di referenti e dovrebbe fare l'UPDATE nel caso in cui il referente già esisiste oppure l'INSERT nel caso non esista. E' possibili impostare un parametro nella query che faccia fare questa cosa in automatico a MySQL????

    Quindi praticamente per ogni referente la query in automatico dovrebbe vedere se già esiste nel DB, se esiste fare l'UPDATE se non essite creare una nuova riga nella tabella, quindi fare l'INSERT.


    Vi ringrazio a tutti per l'aiuto.
    tele

  2. #2
    INSERT .... ON DUPLICATE KEY UPDATE .....

    http://dev.mysql.com/doc/refman/5.0/...duplicate.html

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.