2009-09-05 10 views
15

ho visto questoMySQL Inserire e entra a far parte

In MySQL, si unisce il lavoro per l'inserimento, UPDATE e DELETE. È possibile modificare i dati in più di una tabella quando si uniscono tabelle in un'istruzione UPDATE o DELETE .

in una risposta per una domanda dalla guida di certificazione mysql. è vero? inserisce con join? un esempio di questo?

risposta

26

È possibile INSERIRE ... SELEZIONA con mysql, che è probabilmente ciò che intendono. Per esempio:

INSERT INTO tableNew (col1, col2) 
    SELECT tbl1.col1, tbl2.col2 
    FROM tbl1 JOIN tbl2 
+2

considerare l'utilizzo di REPLACE al posto di INSERT, aggiorna i duplicati o inserti valori mancanti – DanFromGermany

+1

@Marius, cosa circa l'inserimento nella tabella unito (le due tabelle) come possiamo con 'delete'? http://stackoverflow.com/a/3860308/632951 – Pacerier

12

per completare il set, ecco uno per DELETE. Questo è un metodo comune per eliminare le righe insieme alle loro dipendenze senza trigger.

DELETE users, comments 
FROM users JOIN comments ON comments.author=users.id 
WHERE users.isspammer=1