繁体   English   中英

mysql插入tbl(从2个表中选择)

[英]mysql insert into tbl (select from 2 table)

如标题所示,我试图插入1个表中,从2个表中选择值。 查询给我一个错误

INSERT INTO def 
SELECT * from table1, table2
Where time = table1.time

def表列定义必须等于连接的table1table2列定义。 否则,您必须定义def表中要与SELECT输出映射的列。

首先,学习使用正确的显式JOIN语法。 切勿FROM子句中使用逗号。

您的查询返回错误,因为大概两个表都有一个名为time的列。 因此,您需要表别名或using子句。

其次,始终显式列出列,包括insertselect 不依赖默认顺序。 因此,正确编写的查询将更像这样:

INSERT INTO def(col1, col2, . . . )
    SELECT t1.col1, t2.col2, . . .
    FROM table1 t1 JOIN
         table2 t2
         ON t2.time = t1.time;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM