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

    Cancellare tutti i record di una tabella tranne l'ultimo

    Salve, devo cancellare tutto il contenuto di una tabella di una database sql quando si verifica una determinata situazione (gestita da ciclo if in php) ma lasciare l'ultimo record (con id maggiore)

    $sql = "DELETE FROM " . PROVA_TABLE1 . " WHERE id < MAX(id)" ;

    Così mi da errore, ho provato anche a togliere tutto e mettere solo un WHERE id < 50 e funziona, però ovviamente a me serve fare il confronto con il numbero maggiore di id

  2. #2
    Esegui una query per trovare il MAX(id) e puoi utilizza quel valore per creare la query di eliminazione.

  3. #3
    Grazie mille, sapresti scrivermela perchè non sono molto pratico

  4. #4
    Ho provato così ma da errore:

    Codice PHP:
        $msg_delete get_shout_msg();
        if ( 
    $msg_delete )
        {

        
    $sql "SELECT MAX(id) as id_max FROM " SHOUTBOX_TABLE3 "";
        if ( 
    $result $db->sql_query($sql) )
        {
        
    $sql "DELETE FROM " SHOUTBOX_TABLE3 " WHERE id < id_max" ;
        if( !(
    $result $db->sql_query($sql)) )
        { 
    message_die(GENERAL_ERROR'Could not query shoutbox messages'''__LINE____FILE__$sql); }
    }

        } 

  5. #5
    Ho risolto usando un truncate e dopo un insert con l'ultimo valore di input, se comunque qualcuno pensa sia meglio l'altro metodo che volevo usare in fase iniziale me lo scriva

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.