0

我正在尝试编写一个程序,该程序将自动将数据插入到 sqlite 中的给定表中。这是我的桌子的样子:

在此处输入图像描述

例如,我想在data5col3 中输入一个新值,这是我使用的命令:

INSERT INTO exam_table (col3) VALUES ('data5')

这是表格之后的样子:

在此处输入图像描述

问题是,如果我想在另一列中插入一个新值,比如说col1,我应该使用什么命令,以便将新值插入到第一行col1,即为空(第 2 行)?

注意:请提供除这些之外的任何 SQL 命令UPDATE exam_table SET col1='data6' WHERE col3='data4',因为假设我们不知道表的外观,所以我们不知道'col3' 第 2 行包含 'data4'

4

1 回答 1

2

关系数据库可能不适合您的应用程序,或者您可能需要明确地对行进行排序。

你问:

我应该使用什么命令,以便将新值插入到“col1”的第一行中,即为空

...但是 SQL 没有真正的行排序概念,而不是查询强加的顺序。除非您将方案定义为 ORDER BY,否则没有带有 NULL col1 的“第一行”。

然后你要求我们不要提供 UPDATE 命令,“因为假设我们不知道表的样子,所以我们不知道'col3' 第 2 行包含 'data4'”

但这就是 SQL 的工作方式:它将事物设想为无序的元组集(允许重复)。您不会“将值插入 NULL 字段”,而是插入整行或更新单个字段。

您必须强制排序,然后从那里开始工作——是的,它将是一个 UPDATE 命令或类似的命令——或者放弃你的 SQL 后端并使用具有不同数据本体思想的东西。

于 2013-05-10T16:52:13.007 回答