当前位置: 首页 > 知识库问答 >
问题:

如何将数据插入到特定列中,而其他列中没有空值?

费学
2023-03-14

我有一个表(“table1”),有3列,分别称为col1、col2和col3(每个列都是VARCHAR),其中有4个值,如下所示:

col1   col2   col3
datA1  datB1  datC1
datA2  

我需要能够在任何时候将数据添加到任何列中,而不影响其他列。互联网上非常流行的代码是(比如,我们只需要在col2和col3列中添加数据):

INSERT INTO table1 (col2, col3)
VALUES ('datB2', 'datC2');

但它添加了新行,如下所示:

col1   col2   col3
datA1  datB1  datC1
datA2
NULL   datB2  datC2

我真正需要的是用新值填充列“col1”中以值“datA2”开头的行,并得到如下表:

col1   col2   col3
datA1  datB1  datC1
datA2  datB2  datC2

该表有3列,每列对应特定类型的值(例如:名称、颜色、大小)。我所需要的只是在特定列中随时添加新值的可能性,如果之前有一个空闲单元格,则可以不使用Null和新行。

共有3个答案

有宏峻
2023-03-14

我找到了解决方案(逻辑操作链):

1)CHECK如果有一个单元格(在目标列中)的值为"NULL

2)IF它有一个,然后重写FIRST,将此行中其他单元格的值保留在它们的位置(假设我们使用UPDATE))) ).

3) ELSE只需在行中的另一个单元格中添加一个包含allNULL的新行。

如果我们想同时在各个列中添加一些值,我们可以为所有这些列准备查询,然后同时执行它们(抱歉重复)。

如果我们需要在一个查询中向同一列中添加几个值,我们可以使用循环(重复第1段和第2段(或者,可以选择第3段))来准备它。

赵骏奇
2023-03-14

如果要将数据添加到现有行,您必须使用UPDATE语句。例如:

UPDATE table1 SET
col2 = 'data5'
col3 = 'data6'
FROM table1
WHERE col1 = 'data4'

此外,问题的根源似乎是糟糕的数据库设计,但此查询只是为了向您展示如何向现有行添加数据。

尹昀
2023-03-14
UPDATE table1
SET col2 = dataB2, col3 = dataC2
WHERE col1 = dataA2;

这可能符合你的目的。

 类似资料:
  • 我正在尝试使用Python和DataStax驱动程序(Python- 一切都很好,但有些事情我无法理解。如何插入没有空值的行? 例如, 如果我想插入一个没有url值的行,它可以工作,但在卡桑德拉中,我会在url列中看到“null”。 我检查这个文档: http://datas tax . github . io/python-driver/getting _ started . html #将参数

  • 我有以下问题: 包含带有字符串 、 或 C 的 。 带有的第二个 。 以及其他三列 、 和 (这些列也命名为 、 和 )。 因此 应获得 现在我想遍历每一行,并根据 中的条目将 中的整数分配给列 A、B 或 C。 如何实现此目的? < code>df.withColumn()我不能使用(或者至少我不知道为什么),对于< code>val df2 = df.map(x = 提前期待您的帮助和感谢!

  • 在dataframe中,如何有条件地将一列的值填充为列表中另一列的值? 这与这个SO问题非常相似,但当我申请时: 我得到一个错误: 我想中的

  • 我有下面提到的表,我想通过查询添加列,这将增加一列到表的值对其他列特定值考虑以下表 在这个表中,在1前面想要文本作为活动,在零(0)前面,我想要它作为列名状态的非活动。

  • 问题内容: 我可以在熊猫的特定列索引处插入列吗? 这会将列作为的最后一列,但是没有办法告诉它放在开始处吗? 问题答案: 参见文档:http : //pandas.pydata.org/pandas- docs/stable/genic/pandas.DataFrame.insert.html 使用loc = 0将在开头插入

  • 我正在编写一个脚本,将带有标头的大. xlsx文件减少到CSV中,然后根据标头名称编写一个新的CSV文件,其中仅包含所需的列。 我得到的错误是最后一段代码,它说 我肯定我忽略了一些愚蠢的东西,但是我已经阅读了熊猫网站上的留档,我仍然不知所措。我知道我误用了to_csv参数,但我似乎无法理解留档。 任何帮助都是赞赏的,谢谢!