Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Consiglio aggiornamento dati su db

    Devo fare l'aggiornamento dati in un db mysql.
    Esempio: idmio, id, nome, cognome

    Sul db ho dei dati, su un file txt ho i dati "ultimi" che servono ad aggionare il mio db.

    Meglio fare un confronto riga per riga o un delete e insert?
    La cosa pià semplice sarebbe cancellare tutti i dati e ricaricali, ma non vorrei che a lungo andare il mio mysql si incriccasse con una keyword abominevole.

    Sonia

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, puoi utilizzare un update on insert se vuoi aggiornare un record dato un identificativo. In questo modo vai a fare delle insert per dati nuovi e un update se ci sarà un match .
    http://www.mysqltutorial.org/mysql-i...te-key-update/

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Mooooolto interessante!
    Mi metto a testare
    Grazie!

  4. #4
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Sto facendo delle prove ma ho un problema.
    La mia tabella è così composta:
    idcliente (mio id con chiave primaria)
    idgestionale (id del gestionale impostato come chiave univoca)
    nome (campo di testo)

    Id gestionale sarà il campo che devo confrontare, se io eseguo questa query;

    Se eseguo questa query:
    codice:
    INSERT INTO `clienti` VALUES(1,55,'Pippo') ON DUPLICATE KEY UPDATE idcliente=1,idgestionale=55,nome='Piripippo'
    Mi aggiorna Pippo con Piripippo e se cambio l'idcliente mi aggiorna pue quello.
    Io però non sarò a conoscenza del mio idcliente per cui ho provato a fare questo supponendo che aggiornasse o inserisse in base al idgestionale che è settato come chiave unica:

    codice:
    INSERT INTO `clienti` VALUES(55,'Pippo') ON DUPLICATE KEY UPDATE idgestionale=55,nome='Piripippo'
    Però ottengo l'errore
    #1136 - Column count doesn't match value count at row 1
    ---
    grrrr

  5. #5
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Risolto!!!
    codice:
    insert into clienti (idgestionale,nome) VALUES (115,'Girls Fashion S.n.c.') ON DUPLICATE KEY UPDATE idgestionale=115,nome='Girls Fashion S.n.c.'

Tag per questa discussione

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.