Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247

    [MYSQL]delete multilple

    Salve a tutti.
    Ho letto altri thread in merito ma non ho trovato la soluzione che fà per me.

    Ho la necessità di eliminare records da tabelle diverse(il cui numero può variare) ma tutte con la stessa struttura che è la seguente:

    ID(INT) TIMESTAMP(DATETIME) VALUE(FLOAT)

    Siccome non volevo fare n delete ho pensato alle delete multiple ma non funziona.
    Ho fatto questo:

    delete v1.*,v2.* from v1,v2 WHERE v1.timestamp = v2.timestamp
    AND v1.timestamp < NOW()

    per una prova ma risultato 0 record cancellati!
    Qualcuno può indicarmi la sintassi da utilizzare per eliminare contemporaneamente da tali n tabelle i record che sono minori di una certa data(campo timestamp)?

    Grazie per l'aiuto.
    Andrea

  2. #2
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Nessuna Idea?
    Andrea

  3. #3
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Up!
    Andrea

  4. #4
    The first multiple-table DELETE syntax is supported starting from MySQL 4.0.0. The second is supported starting from MySQL 4.0.2.
    ci stai?

  5. #5
    La query non e' corretta....
    codice:
    delete a, b 
    from tab1 a, tab2 b
    where a.timestamp = b.timestamp
    and a.timestamp < CURDATE()
    Ma poi esiste un problema.... essendo il timestamp (UNIX o MySQL?) preciso al secondo e' poco probabile che due record su due diverse tabelle abbiano lo stesso secondo di immissione. Dovresti convertire il timestamp in sola DATA per la comparazione.

    Poi hai NOW() che ti fornisce anche i secondi. Ora 1 secondo in meno basterebbe per soddisfare il minore di NOW(). Ecco perche' ho messo CURDATE() che fornisce solo la data.


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

  6. #6
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Grazie Piero.Mac per la tua risposta!
    E se le tabelle fossero n la query di cancellazione come diventerebbe?



    P.S. per bubu77: cosa significa ci stai?



    Grazie.
    Andrea

  7. #7
    Originariamente inviato da quincy

    P.S. per bubu77: cosa significa ci stai?
    Grazie.
    Non e' una proposta sessuale....

    Ti chiede se sei dentro alle versioni compatibili per la query.

    Per la tua domanda... dipende da come sono le tabelle, cosa vuoi ottenere dalla cancellazione, se hanno una relazione tra loro.


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

  8. #8
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Le tabelle sono come scritto nel primo thread tutte uguali.
    La relazione è nel campo timestamp.
    Solo che il loro numero non lo conosco a priori perchè varia.
    Quindi devo cancellare tutti i record di suddette tabelle con la relazione sul timestamp(nel senso che voglio cancellare tutti i record < di una certa data da tutte le tabelle in un colpo solo).

    Naturalmente ho la versione giusta del mysql per le delete multiple.
    Scusami se non avevo capito
    Andrea

  9. #9
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Scusa se ancora rompo ma a e b nella tua query:

    delete a, b
    from v1 a, v2 b
    where a.timestamp = b.timestamp
    and a.timestamp < CURDATE()

    cosa rappresentano degli alias?

    Te lo chiedo perchè ottengo il seguente errore:

    #1066 - Not unique table/alias: 'a'
    Andrea

  10. #10
    ci stai? :maLOL:

    non sò come mi è venuta speriamo almeno che sei donna

    per il resto lascio la palla a piero che su mysql è sicuramente + preparato di me

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.