Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305

    [MYSQL] cancellare su più tabelle

    Ciao, ho 2 tabelle con la stessa struttura e un campo id_esterno ciascuna. Ho creato sta query che però mi dà errore:
    $q_imm = "DELETE FROM tabellaA, tabellaB WHERE idindex='$id'";
    mysql_query($q_imm) or die(mysql_error());

    C'è un modo per eliminare records sulle 2 tabelle con una sola query?

  2. #2
    posta l'errore

  3. #3
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE idindex='39'' at line 1

    Uso la versione 4.0.21

  4. #4
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    DELETE tabellaA, tabellaB FROM tabellaA, tabellaB
    WHERE tabellaA.idindex=tabellaB.idindex AND idindex=$id

  5. #5
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Grazie Teuzzo ma mi dà ancora un errore: Column: 'idindex' in where clause is ambiguous.

    ma forse devo fare 2 query separate perchè hanno si in comune l'idindex ma può essere che una tabella ha 0 campi con quell'id e l'altra invece ne ha n; vedendo la tua query mi son reso conto che l'ottimo forse sono 2 DELETE FROM miatab distinte.

  6. #6
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Per il primo problema metti WHERE tabellaA.idindex=$id.

    Per l'altro problema effettivamente ti conviene fare 2 query.

  7. #7
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Grazie Teuzzo, cacchio ma ho fatto caso adesso che sei di VR... anche io

    city o dintorni?

  8. #8
    ciau,
    è possibile fare questa cosa su 3 tabelle?

    ho:
    tab_uno
    tab_due
    tab_tre

    ...e a disposizione un id.

    dovrei fare circa:
    DELETE da tab_uno WHERE id = $id
    DELETE da tab_due WHERE id_cliente = $id
    DELETE da tab_tre WHERE id_email = tab_due.id

    P.S: anch'io sono di Verona

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.