2011-01-12 15 views
0

このクエリでは、挿入ステートメントを使用している場所を混乱させて無視してから選択します。誰かが私にこれを説明できますか?ありがとうクエリの挿入と選択の説明

INSERT IGNORE INTO 
     myTable 
    SELECT 
     $var1 AS `CMMNCTID`, 
     $var2 AS `ENCID`, 
     variableID, 
     ProductID, 
     CustomerID, 
     Age, 
     "" AS `myJ`, 
     "" AS `myI` 
    FROM 
     table2 
    JOIN 
     table3 
    ON 
     table2.ID= table3.ID 

答えて

0

SELECTはサブクエリです。 INSERTは、table2table3の結合に含まれるものをmyTableに挿入します。 IGNOREは、既に存在するキーのエントリを無視し、まだ存在しないものを挿入するように指示します。

クエリの目的は、table2table3の間に関連付けられたデータを組み合わせて、myTableにダンプすることです。

+0

通常、insert文はテーブル(column1、column2)の値(val1、column2)に挿入されますが、ここでは表示されません。なぜ、どこに挿入するのかわかります – user400749

+0

@user400749: 'SELECT'クエリで見る部分は' myTable'の列に対応しています。 – BoltClock

1

INSERT IGNOREキーワードmysql:挿入によってプライマリキーまたはユニークキーエラーが発生する場合は、その行をスキップする必要があります。

INSERT ... SELECT:は、別のテーブルからデータをコピーするために使用されます。

http://dev.mysql.com/doc/refman/5.1/en/insert.html

0

これは、テーブルのテーブル2と表3にSELECTクエリから結果を受け取り、表MYTABLEに結果を挿入します。 IGNOREキーワードは、単にINSERTクエリの実行中に発生したエラーを無視するようmysqlに指示します。

関連する問題