BQ 语法错误:预期输入结束,但得到关键字 INTO

问题描述 投票:0回答:1

我正在用 SQL 编写,我想将一些数据复制到新表中。我想要

existingtable
中的 3 个变量进入一个名为
newtable
的新表。我正在运行以下查询:

SELECT var1, var2, v3
INTO `myproject.mydataset.newtable` 
FROM `myproject.mydataset.existingtable`;

我收到错误消息:

Syntax error: Expected end of input but got keyword INTO at [2:1]

我的代码似乎与一些教程文章(例如这里的文章)结构相同。我究竟做错了什么?很抱歉,我知道有很多类似的帖子都包含此基本错误消息,但我遵循了许多不同文章的建议,但无法解决它,因为错误消息是如此模糊。

sql google-bigquery
1个回答
0
投票
在 GoogleSQL 中,

SELECT

 语句仅用于查询。它不会更新表。您需要的是一个
INSERT
。例如:

INSERT INTO `myproject.mydataset.newtable` (var1, var2, var3) SELECT var1, var2, var3 FROM `myproject.mydataset.existingtable`
这是我用来测试的:

CREATE TABLE test.table1 (col1 string, col2 string, col3 string); INSERT INTO test.table1 VALUES ("A", "B", "C"), ("D", "E", "F"); CREATE TABLE test.table2 (col1 string, col2 string, col3 string); INSERT INTO test.table2 (col1, col2,col3) SELECT col1, col2, col3 FROM test.table1
查看您粘贴的链接并阅读介绍,似乎使用 mySQL 作为数据库。您会发现数据库支持 SQL 语言的不同变体。 BigQuery 声称符合 ANSI 标准。这意味着,如果您将 SQL 的使用限制为

标准 ANSI SQL 的定义,您将具有可移植性。

© www.soinside.com 2019 - 2024. All rights reserved.