Visualizzazione risultati 1 fino 9 di 9

Discussione: Azzerare numero scontrini sql

  1. #1
    Guest

    Predefinito Azzerare numero scontrini sql

    Salve, ho una tabella scontrino in cui ho un attributo numeroscontrino e dataemissione in cui numeroscotrino si incrementa automaticamente. COme faccio a far partire da 0 il numero dello scontrino quando scatta la mezzanotte?

  2. #2
    Guest

    Predefinito

    Nessuno può aiutarmi?

  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Se hai un campo auto-increment, vedi qui: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html. Occhio a non aver però valori doppi in campi con chiave primaria.

    Ciao!
    Ultima modifica di alemoppo : 06-07-2015 alle ore 18.34.57

  4. #4
    Guest

    Predefinito

    @alemoppo grazie per la risposta però forse non mi sono spiegato bene. Allora nella tabella scontrino la mia chiave primaria è composta da numeroscontrino e la data dello scontrino). numeroscontrino e' auto-increment. Io come faccio a dire al database che quando stampo lo scontrino il numero deve partire da 1 se e' il giorno seguente? Tipo i registratori di cassa che fanno tot scontrini e poi il giorno dopo parte da 1 il primo scontrino.
    Il mio sito e' in php.

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Puoi farlo come ti ho linkato sopra.
    Ripeto, essendo chiave primaria non puoi avere più "numeroscontrino" uguali (ad esempio due scontrini con numero 1). Se vuoi continuare ad usar quel campo, al più puoi eliminare tutti gli scontrini vecchi; non credo però tu voglia questo.

    Perché invece non recuperi il numero conoscendo la data? Ad esempio ordinandoli per data e prendendo solo gli scontrini di un giorno, dovresti esser in grado o tramite mysql o tramite php di ottenere il numero che vuoi.

    Altrimenti, potresti fare un nuovo campo dei dati utilizzato per questa cosa.
    Il problema è: con auto_increment, cosa succede se elimini uno scontrino? Ti rimane una cifra non utilizzata!

    Ciao!

  6. #6
    Guest

    Predefinito

    No ma il problema non è il numero di scontrino perchè la chiave primaria è composta dal numero di scontrino e dalla data di emissione dello scontrino, quindi quando lo farò partire da 1 non ci sarà conflitto tra le chiavi perchè la data di emissione sarà diversa.
    Come confronto le date? Cioè voglio confrontare i campi anno, mese e giorno.

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Citazione Originalmente inviato da elettrici Visualizza messaggio
    perchè la chiave primaria è composta dal numero di scontrino e dalla data di emissione dello scontrino
    Ne sei sicuro? Puoi mostrare la struttura del database?
    Per selezionare i campi di un giorno qualsiasi o un intervallo di tempo definito, vedi qui o qui.

    Ciao!

  8. #8
    Guest

    Predefinito

    Quetsa è la mia tabella scontrino
    create table scontrino
    (
    numero int(11) auto_increment,
    data current_timestamp,
    idordine int references ecc ecc,
    primary key(numeri, data)
    )

    forse mi conviene creare un campo date e un campo orario di tipo time e poi nel php con la funzione explode mi estrapolo i campi della data e li confront con l'ultimo scontrino emesso

  9. #9
    Guest

    Predefinito

    Risolto. Potete chiudere

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •