如何 SQL 为另一个表中的每个 id 插入一条记录? [复制]
Posted
技术标签:
【中文标题】如何 SQL 为另一个表中的每个 id 插入一条记录? [复制]【英文标题】:How can I SQL insert a record for every id in another table? [duplicate] 【发布时间】:2016-12-26 13:05:35 【问题描述】:我已经看到了插入选择,但我只想从第二个表中获取一个值。这是我的想法:
insert into table1
Values((select distinct id from table2),
"blah", "blah", "blah")
所以在 Id 之后,其余的值将被硬编码为我想要的任何值。这可能吗?
【问题讨论】:
【参考方案1】:语法如下:
insert into table1
select distinct id, 'blah', 'blah', 'blah' from table2
对字符串文字使用单引号,例如'blah'
。 (双引号用于分隔标识符,例如,如果一个对象有一个保留字作为名称 "table"
。)
【讨论】:
【参考方案2】:正确的语法不使用values
:
insert into table1(col1, . . . )
select distinct id, 'blah', 'blah', 'blah'
from table2;
注意事项:
在使用insert
时,您应该始终使用明确的列列表,除非您真的非常清楚自己在做什么。
使用单引号来分隔字符串,而不是双引号。
【讨论】:
哇,这么简单,我心疼 @Pittfall 。 . .当你学到一些东西时,永远不要感到难过。 . .至少在没有其他人受伤的情况下。以上是关于如何 SQL 为另一个表中的每个 id 插入一条记录? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
两个表,一个表中的两列关联另一个表的id,如何将这个表中的两列显示为另一个表id对应的内容