Mysql 这个子查询有什么问题
我正在尝试运行子查询,以将从另一个数据库的表收集的数据插入数据库的表中。运行此查询时,出现以下错误: 1064-您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解要使用的正确语法 在“从活动\流量\数据库中选择*活动\合并位置”附近 adform_clientID=135456’,位于第1行Mysql 这个子查询有什么问题,mysql,Mysql,我正在尝试运行子查询,以将从另一个数据库的表收集的数据插入数据库的表中。运行此查询时,出现以下错误: 1064-您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解要使用的正确语法 在“从活动\流量\数据库中选择*活动\合并位置”附近 adform_clientID=135456’,位于第1行 作为我上述评论的后续,语法如下: INSERT INTO <table> (f1, f2, f3) VALUES (SELECT f1, f2, f3 FROM <
作为我上述评论的后续,语法如下:
INSERT INTO <table> (f1, f2, f3)
VALUES (SELECT f1, f2, f3 FROM <table2>);
假设campaign_traffic_db.campaign_merge中的字段与语句INSERT部分中的字段列表完全对齐,则应该可以工作
可以找到有关插入…选择的文档删除值。只需插入。。选择从…起为什么会这样?在ant工作之前,我使用过类似语法的子查询?你能解释一下吗?我真诚地怀疑你是否使用过像INSERT INTO这样的语法。。值选择。。。从…起因为在任何RDBMS中都不支持这种功能。也许在值1,2中插入,从bar中选择maxfoo,4或类似的傻事可能会起作用,尽管我不确定它是否会起作用。在我的情况下不起作用我强烈建议您在这种情况下不要使用select*。我猜它不起作用,因为来自SELECT的字段与插入列表中的字段不对齐。我很乐意帮助您诊断更多,但您必须分享错误消息。
INSERT INTO <table> (f1, f2, f3)
VALUES (SELECT f1, f2, f3 FROM <table2>);
INSERT INTO 135456_1257994024297010.campaign_merge
(
adform_client,
adform_clientID,
adform_campaign,
adform_campaignID,
adform_campaignStartDate,
adform_campaignEndDate,
adform_campaignCurrency,
adform_cost,
adform_clicks,
adform_ctr,
adform_impression,
fb_client,
fb_clientID,
fb_campaign,
fb_campaignID,
fb_campaignStartDate,
fb_campaignEndDate,
fb_cost,
fb_clicks,
fb_impression,
created_at,
updated_at
)
SELECT * FROM campaign_traffic_db.campaign_merge
WHERE adform_clientID = '135456' AND fb_clientID = '1257994024297010';