我可以在一个中插入来自不同列的多个值吗?
我有:ref | alt | couple_refalt
--------------------------
A C AC ( i want)
A G AG Etc...
有简单的方法吗?
我尝试过:
INSERT INTO refalt(couple_refalt)
SELECT ref||alt
FROM refalt
WHERE ref='A';
这是对的吗?
但它给了我错误:
null value in column violates not-null constraint
Postgres想要每个列的值,为什么我不能更新或插入特定列?
答案 0 :(得分:1)
存储逗号分隔值不是存储值的SQLish方式。你似乎想要的是一个计算列。 Postgres不直接支持。一种方法是声明一个视图:
create view v_refault
select r.*, ref || ',' || alt
from refault;
其他可能性是:
答案 1 :(得分:0)
为了将两个值插入一列,您需要将它们连接起来。在postgresql中,语法如下。
SELECT ref::text || ', ' || alt::text FROM refalt
如果您想了解更多详情,请参阅string documentation