Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454

    [PHP - MySql] Prob con DELETE

    Salve ragazzi ,

    sono tornato con una nuova domanda

    Allora, io ho una tabella in mysql. Ora io voglio che non ci siano più di 50 righe in questa tabella. QUindi quando viene inserita una nuova riga e questa supera la 50, voglio che cancella la più vecchia (ho un campo con i l'ora dell'inserimento unix, insomma in secondi :P)

    Ora io ho fatto un count delle righe che ci sono e quello funziona alla perfezione.

    Poi per la cancellazione avevo pensato di fare così:
    codice:
    DELETE FROM tabella ORDER BY ora ASC LIMIT $a
    Dove $a è la il risultato della sottrazione del risultato di quanto meno 50 righe (così se capita che per uno strano motivo ce ne sono più di 51, per esempio 56 le cancellerebbe tutte.. in teoria).

    Ho provato anche a togliere ASC, ma niente. Se tolgo l'order by me lo fa, ma non cancella il più vecchio ma il più nuovo.

    CHi mi può aiutare?

    Spero di essere stato chiaro, grassie

  2. #2
    domanda:

    Come e' il formato del campo ora?

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

  3. #3
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Ops, scusa se non ho specificato prima :P è di tipo INT(15)

  4. #4
    Originariamente inviato da Nosfe
    Ops, scusa se non ho specificato prima :P è di tipo INT(15)
    A parte che il campo INT al max e' 10, la tua query deve funzionare.

    Tu fai un ordinamento ascendente di valori numerici. Devi solo verificare di sottrarre e fare il DELETE se il numero dei record fosse > superiore a 50. Altrimenti avresti numeri negativi in LIMIT.

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

  5. #5
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Si hai ragione, è di 10 cmq non credo sia quello il problema no? Perché la verifica la faccio, continua e va al DELETE solo se i campi sono più più di 50

  6. #6
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Ho anche provato a fare così in phpmyadmin come codice da eseguire:

    codice:
    DELETE FROM tabella ORDER BY ora LIMIT 2
    Ma mi dà errore lo stesso :-(

  7. #7
    Originariamente inviato da Nosfe
    Ho anche provato a fare così in phpmyadmin come codice da eseguire:

    codice:
    DELETE FROM tabella ORDER BY ora LIMIT 2
    Ma mi dà errore lo stesso :-(
    Ho una tabella da ripulire e provo tanto per... ma funziona. Quale errore ricevi da phpmyadmin?

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

  8. #8
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    L'errore che mi dà è il seguente:

    #1064 - You have an error in your SQL syntax near 'ORDER BY ora LIMIT 2 ' at line 1

    La query era questa:

    codice:
    DELETE FROM tabella ORDER BY ora LIMIT 2

  9. #9
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Originariamente inviato da Nosfe
    L'errore che mi dà è il seguente:

    #1064 - You have an error in your SQL syntax near 'ORDER BY ora LIMIT 2 ' at line 1

    La query era questa:

    codice:
    DELETE FROM tabella ORDER BY ora LIMIT 2
    Correzzione, la query provata è:

    codice:
    DELETE FROM tabella ORDER BY ora ASC LIMIT 2
    Ma per scrupolo le ho provate cmq entrambe

  10. #10
    Originariamente inviato da Nosfe
    L'errore che mi dà è il seguente:

    #1064 - You have an error in your SQL syntax near 'ORDER BY ora LIMIT 2 ' at line 1

    La query era questa:

    codice:
    DELETE FROM tabella ORDER BY ora LIMIT 2
    Ma che versione hai di MySQL?? tabella e' il vero nome oppure il nome e' diverso?

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