Delete Cascade

Ciao Gianni,

una domanda, per cancellare dei dati da 2 tabelle diverse ho aggiunto con PHPMyAdmin l'attributo ON DELETE CASCADE alla chiave secondaria id_tessera della tabella abbonamento, collegandola alla chiave primaria ID della tabella iscritti, infatti se con PHPMyAdmin cancello un record dalla tabella iscritti, viene automaticamente cancellato anche dalla tabella abbonamento.

Quindi ho cercato a quel punto di istituire un query per la cancellazione dei dati in php nella pagina del mio sito, così strutturata:

 $query2 = "DELETE CASCADE iscritti.id FROM iscritti WHERE abbonamento.id_tessera=iscritti.id";

ma mi sono trovato questo messaggio di errore:

Errore nella query : 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 'CASCADE iscritti.id FROM iscritti WHERE abbonamento.id_tessera=iscritti.id' at line 1.

Potresti dirmi in cosa sbaglio, è qualcosa che riguarda gli attributi del DB quando ho creato le tabelle o

è solo un errore di sintassi nella query? o tutte e due ahahahahaha.

Ciao e grazie in anticipo

inviato 7 anni fa
bruce1964
X 0 X

Mi sa che ti conviene studiare un po' l'SQL, altrimenti così rischi di girare a vuoto all'infinito...

Una classica query di cancellazione si scrive così:

DELETE FROM nome_tabella WHERE condizione

ad esempio:

DELETE FROM nome_tabella WHERE id=123

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni,

è vero e ci sto provando, ma non riesco mai a collegare le istruzioni a quello che in realtà mi serve fare, ad esempio tu mi hai riportato l'esempio della condizione where id=123, ma così io cancello il record n° 123, ma se devo cancellare un record selezionato da un form la condizione non è where id=$ids ?

scusa se ti stresso........

risposto 7 anni fa
bruce1964
X 0 X

Ops....... ora funziona, ma ti assicuro che ci avevo già provato........

Boh forse avevo omesso la s finale di $ids.

Scusa ancora per il disturbo e grazie

risposto 7 anni fa
bruce1964
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda