16回答

0收藏

PostgreSQL:插入另一个表

技术问答 技术问答 653 人阅读 | 16 人回复 | 2022-03-03

我试图将数据从另一个表插入到一个表中,这些表只有一个共同的列。问题是,TABLE1列不接受空值,所以我不能把它们留空,也不能从TABLE二中获取。
/ z1 v9 i* \) K$ L% w* S我有TABLE1:id,col_1(不为null),col_2(不为null),col_3(不为null)! K1 C/ Q$ d* w8 y5 `9 ]7 A
和TABLE2:id,col_a,col_b,col_c# ~, C& J- K( {( z, S
那么如何将ID从TABLE2插入TABLE并用如 data1”,“ data2”,“ data3等硬编码字符串填充col_1-3?- @( f  U# e* `- X0 v
INSERT INTO TABLE1 (id) SELECT id FROM TABLE2 WHERE col_a = "something";将导致:
, n+ O- b) d9 W2 u5 h错误:“ col_1列中的空值违反了非空约束
, a# M+ {! V* S9 {  X
                                                               
: B% y5 c* r0 K; U& u    解决方案:                                                                3 B4 a# z1 @+ `, K
                                                                只需在SELECT中提供文字值即可:7 X$ b+ g. Z7 {2 F  w1 ^. M! F% G
INSERT INTO TABLE1 (id,col_1,col_2,col_3)SELECT id,'data1','data2','data3'FROM TABLE2WHERE col_a = 'something';列表可以包含任何值表达式:
+ O/ H: `# a$ `* S/ W9 p) ]  i" h+ x但不需要引用列表中的表达式FROM表达式中的任何任何列。例如,它们可以是常量算术表达式。$ ]: Z3 p' g+ c1 y. H: u
字符串文字必须是值表达式。
分享到:
回复

使用道具 举报

回答|共 16 个

暴躁的团子

发表于 2022-3-4 00:14:15 | 显示全部楼层

我是个凑数的。。。
回复

使用道具 举报

吃着瓜子看事

发表于 2022-3-5 15:05:10 | 显示全部楼层

锄禾日当午,发帖真辛苦。谁知坛中餐,帖帖皆辛苦!
回复

使用道具 举报

冲啊

发表于 2022-3-6 15:59:49 | 显示全部楼层

路过的帮顶
回复

使用道具 举报

把作业装进篮子里去

发表于 2022-3-7 10:13:40 | 显示全部楼层

我是个凑数的。。。
回复

使用道具 举报

香炉山人

发表于 2022-3-8 05:43:19 | 显示全部楼层

楼主呀,,,您太有才了。。。
回复

使用道具 举报

都是一场梦

发表于 2022-3-8 16:47:47 | 显示全部楼层

我是个凑数的。。。
回复

使用道具 举报

无形的天堂

发表于 2022-3-8 23:54:26 | 显示全部楼层

楼主呀,,,您太有才了。。。
回复

使用道具 举报

梁桂林

发表于 2022-3-9 06:05:20 | 显示全部楼层

LZ敢整点更有创意的不?兄弟们等着围观捏~
回复

使用道具 举报

欣昊实业

发表于 2022-3-9 11:18:08 | 显示全部楼层

嘘,低调。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

29055 积分
9659 主题
热门推荐