Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    MySQL - query di aggiornamento

    Ciao a tutti, ho una tabella di dettaglio che contiene il dettaglio di tutte le spedizioni

    esempio
    testata spedizione :
    codice 11
    descrizione bla bla

    primo dettaglio spedizione
    codice testata 11
    numero pacco 0

    secondo dettaglio spedizione
    codice testata 11
    numero pacco 1


    terzo dettaglio spedizione
    codice testata 11
    numero pacco 2


    quindi ogni volta che aggiungo un dettaglio, numero il pacco


    il problema è che se viene cancellato un dettaglio, esempio il secondo


    secondo dettaglio spedizione
    codice testata 11
    numero pacco 1

    il mio campo "numero campo" presenta un "buco"

    come posso fare un update (una query che lancerei alla fine del processo di inserimento) che mi aggiorna i progressivi del campo numero pacco? (rendendoli continui 0,1,2,3,4,5,6,7... in caso di "buchi")
    ovviamente ogni spedizione ha il suo progressivo, non si tratta di un progressivo comune a tutte le spedizioni


    in sintesi aggiornare (ovvero ricreare il contatore) dopo ogni inserimento, dato che se l'utente mi crea una spedizione con 3 righe di dettaglio e mi cancella quella in mezzo o la prima il contarore non è progressivo... io vorrei invece che nel dettaglio il campo inizi sempre da 0 (se ho una sola riga di dettaglio) e proceda con numeri contigui ... 1,2,3,4
    quindi dopo ogni inserimento, aggiornamento, cancellazione eseguirei questa query di controllo, solo che non so come gestire l'update del contatore


    Grazie

    CREATE TABLE `DB`.`spedizionidettaglio` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `idSpedizioni` int(10) unsigned NOT NULL,
    `numeroPacco` int(10) unsigned NOT NULL default '0',
    PRIMARY KEY (`id`),
    KEY `FK_webspedizionidettaglio_1` (`idSpedizioni`),
    CONSTRAINT `FK_webspedizionidettaglio_1` FOREIGN KEY (`idSpedizioni`) REFERENCES `webspedizioni` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
    ) ENGINE=InnoDB AUTO_INCREMENT=631 DEFAULT CHARSET=latin1;


    CREATE TABLE `DB`.`spedizioni` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `idCliente` int(10) unsigned default NULL,
    `idWebRubrica` int(10) unsigned default NULL,
    `destRagioneSociale` varchar(255) default NULLdefault NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=379 DEFAULT CHARSET=latin1;
    Iceberg

  2. #2
    Nessun aiutino??? :-((
    Iceberg

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 © 2025 vBulletin Solutions, Inc. All rights reserved.