1

正如我的问题所说,我怎样才能从表中获得最大值?

在我的应用程序中。我有表名dataset_master

并且表的字段名称是dataset_id,它是手动添加的auto_inc

所以,第一次在表中没有插入记录,当我插入第一条记录时,我添加dataset_id1。 (这只是第一次)

然后在为dataset_id插入下一条记录后,我触发查询以获取dataset_id的最大值,然后插入dataset_id +1。(这是为下一个记录等等..)

就我而言,我使用以下查询来获取最大dataset_id

SELECT MAX(dataset_id) FROM dataset_master where project_id = 1

在我的应用程序中,我想从dataset_master表中获取字段名称的最大值是dataset_id 。

当我每次获得适当的最大 dataset_id 数量时将记录插入 dataset_master 表此查询正常工作。但是,当我在表中删除亮片中的记录(例如(从 10 中的 1 到 5))并插入新记录后,我每次都会得到最后一个最大数,例如

如果我的表有 10 条记录,那么我的dataset_id是 1 到 10;当我删除诸如 1 到 5 之类的记录时,仍然保留 6 到 10 条记录以及表中的dataset_id。然后在我插入新记录之后,每次我得到10 (最大数量)所以每次新记录都有dataset_iddataset_id + 1所以11

我不知道是什么问题(可能是 Query 中的错误?),请提出您的建议。

4

2 回答 2

1

您需要重置sqlite_sequence 表中的序列。不过,我建议您不要担心这一点,因为当它成为问题时,这将是您最不头痛的问题。

于 2013-07-23T09:09:46.523 回答
0

我认为问题不在于您的查询,而在于您的插入。dataset_id插入新行时是否强制?

于 2013-07-23T09:20:48.500 回答