2009-09-05 15 views
15

iはMySQLではこのMySQLの挿入&は、

を見た参加INSERT、UPDATE のための作業に参加し、およびDELETE文。 UPDATEまたはDELETEステートメントで表を結合するときに、 が1つの表の 以上のデータを変更することができます。

の質問には、mysql認証ガイドの質問にお答えください。それは本当ですか?結合を挿入しますか?それの一例?

答えて

26

mysqlを使用してINSERT ... SELECTを実行することができます。これはおそらくその意味です。例えば:あなたはこのようなUPDATE文のためにこれを行うことができます

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

はそれが重複や欠落値のインサートを更新し、代わりにINSERTのREPLACE使用することを検討してください – DanFromGermany

+1

@Marius、私たちは 'DELETE'でできるように(2つのテーブル)結合されたテーブルへの挿入は? http://stackoverflow.com/a/3860308/632951 – Pacerier

12

セットを完成するために、ここではDELETEのための1つです。これは、トリガーのない依存関係とともに行を削除する一般的な方法です。

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