Ars*_*nii 9 sql postgresql insert
我有一个表("table1")有3列,名为col1,col2和col3(每个都是VARCHAR),有4个值,如下所示:
col1 col2 col3
datA1 datB1 datC1
datA2
Run Code Online (Sandbox Code Playgroud)
我需要能够随时将数据添加到任何不影响其他列的列中.互联网上非常流行的代码是(例如,我们只需要将数据添加到列col2和col3):
INSERT INTO table1 (col2, col3)
VALUES ('datB2', 'datC2');
Run Code Online (Sandbox Code Playgroud)
但它添加了新行,如下所示:
col1 col2 col3
datA1 datB1 datC1
datA2
NULL datB2 datC2
Run Code Online (Sandbox Code Playgroud)
我真正需要的是用新值填充从"col1"列开始的值"datA2"的行,并得到如下表格:
col1 col2 col3
datA1 datB1 datC1
datA2 datB2 datC2
Run Code Online (Sandbox Code Playgroud)
如果有人能帮助我,我将非常感激!谢谢.Arsenii.
更新:该表有3列,每列响应特定类型的值(例如:名称,颜色,大小).我需要的是可以在特定列中随时添加新值,如果之前有一个空闲单元格,则可以不使用Null和新行.
小智 5
UPDATE table1
SET col2 = dataB2, col3 = dataC2
WHERE col1 = dataA2;
Run Code Online (Sandbox Code Playgroud)
这可能有助于您的目的。
我找到了解决方案(一系列逻辑运算):
1)CHECK如果有一个单元格(在目标列中)的值为""或NULL。
2)IF它有其中一个,然后重写第一个,并将该行中其他单元格的值保留在其位置(假设我们使用UPDATE))))。
3)ELSE只需添加一个新行,其中所有NULLs 都在该行的另一个单元格中。
如果我们想同时将一些值添加到各个列中,我们可以为所有这些值准备查询,然后同时执行它们(抱歉同义反复)。
如果我们需要在一个查询中的同一列中添加一些值,我们可以使用循环来准备它(重复第 1 段和第 2 段(或者,可选地,第 3 段)。
| 归档时间: |
|
| 查看次数: |
47349 次 |
| 最近记录: |