查询插入并选择说明

时间:2011-01-12 04:05:36

标签: sql mysql

我对这个查询感到困惑,它使用insert语句然后忽略然后选择。有人可以解释一下吗?感谢

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

3 个答案:

答案 0 :(得分:1)

关键字mysql中的

INSERT IGNORE:如果插入会导致主键或唯一键错误,则应跳过该行。

INSERT ... SELECT:用于复制另一个表中的数据。

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

答案 1 :(得分:0)

SELECT是子查询。 INSERT正在做的是将table2table3的联接中包含的内容插入myTableIGNORE告诉它忽略myTable中已存在的密钥的任何条目,并只插入尚不存在的密钥。

查询的目的似乎是将table2table3之间关联的数据合并,并将其转储到myTable

答案 2 :(得分:0)

它从表table2和table3的SELECT查询得到结果,并将结果插入到表myTable中。 IGNORE关键字只是告诉mysql忽略执行INSERT查询时发生的任何错误。