2010-10-07 4 views
0

Si toutes les tables que je veux supprimer ont la colonne gamer_idsupprimer de table1, table2, table3 où?

puis-je supprimer de table1, table2, table3 où gamer_id = 123?

ou existe-t-il une syntaxe différente?

+0

qui SGBDR? Cela peut être fait dans Postgres mais pas dans SQL Server. –

Répondre

1

MySQL prend en charge multi-table deletes:

DELETE t1, t2, t3 
    FROM TABLE_1 t1 
    JOIN TABLE_2 t2 ON t2.gamer_id = t1.gamer_id 
    JOIN TABLE_3 t3 ON t3.gamer_id = t1.gamer_id 
WHERE t1.gamer_id = 123 
+0

N'y a-t-il aucun moyen de le faire sans une jointure? – Hailwood

+0

@Hailwood: Je ne vois pas le besoin - la jointure inclura les lignes dans chaque table respective où le 'gamer_id' est ce que vous spécifiez. Ou est le problème que c'est possible que le 'gamer_id' n'existe pas dans l'une des trois tables? –

+0

C'est plus un problème de performance, car il y aura environ 80 lignes dans chaque table, cela ne signifie-t-il pas 80^3 jointures = 512 000 jointures? – Hailwood

Questions connexes