我对这个查询感到困惑,它先使用insert语句,然后使用ignore,然后使用select。有人能给我解释一下吗?谢谢
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发布于 2011-01-12 12:08:13
SELECT是一个子查询。INSERT所做的就是将table2和table3的连接中包含的任何内容插入到myTable中。IGNORE告诉它忽略myTable中已经存在的键的任何条目,只插入还不存在的内容。
查询的目的似乎是组合table2和table3之间的关联数据,并将其转储到myTable中。
发布于 2011-01-12 12:08:38
INSERT IGNORE in a keyword mysql:如果插入将导致主键或唯一键错误,则应该跳过该行。
INSERT ... SELECT:用于从另一个表中复制数据。
发布于 2011-01-12 12:09:33
它从表table2和table3的SELECT查询中获得结果,并将结果插入到表myTable中。IGNORE关键字只是告诉mysql忽略执行INSERT查询时发生的任何错误。
https://stackoverflow.com/questions/4665241
复制相似问题