我试图将一个表的所有值插入到另一个表中.但是insert语句接受值,但我希望它接受来自初始_表的select*.这可能吗?

推荐答案

insert语句实际上有这样做的语法.如果指定列名而不是 Select "*",则会容易得多,不过:

INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

我最好澄清这一点,因为出于某种原因,这篇文章得到了一些反对票.

插入到...SELECT FROM syntax用于当您插入的表(在上面的示例中为"new_table")已经存在时.正如其他人所说, Select ...INTO语法用于在命令中创建新表.

您没有指定是否需要在命令中创建新表,因此请插入到...如果目标表已经存在,则"从中 Select "应该可以.

Sql相关问答推荐

当编号和版本的唯一状态更改时报告

按postquist中的日期查询json列

Postgresql在加入时显示重复的行

删除MariaDB数据库中的JSON数据

按用户和时间列出的SQL Group考勤列表

在VB.NET中如何在MS Access数据库中创建SQL项目历史库存卡

如何将insert语句重复n次使一个值递增?

使用特定的Order By子句随机化SQL输出

Grafana SQL 模板变量(值、文本)

试图找到两个身份列表的交集(列表的长度不同),但获取列 id 不明确?

给定 3 个键列,从一个表中 Select 另一表中不存在的所有数据

SQL 搜索 - 获取最大值日期的奇怪行为

清理 XML 数据

如何使用SELECT语句进行左连接,并根据右表中的特定值过滤结果?

SQL的左连接在多对多关系情况下使用

将有效数字作为 varchar 返回的 SQL 函数

我需要遍历权重值表并确定每个权重是否有效

具有日期时间条件的存储过程

SQL日期比较用例;月初至今的报告

使用标准SQL 触发更新当前日期