正如我的问题所说,我怎样才能从表中获得最大价值?
在我的应用中。我的表名为 dataset_master
表格的字段名称为 dataset_id ,它会手动添加为auto_inc
。
所以,第一次没有在表中插入记录,当我插入第一条记录时,我添加 dataset_id 是 1。 (这只是第一次)
然后插入 dataset_id 的下一条记录后,我为 dataset_id 的获取 max 值启动查询,然后插入 dataset_id +1 。 (这是为了下一条记录,依此类推......)
在我的情况下,我使用以下查询获取最大值 dataset_id 。
SELECT MAX(dataset_id) FROM dataset_master where project_id = 1
在我的应用程序中,我希望 dataset_master 表中的字段名称的最大值为 dataset_id 。
每当我获得 dataset_id 的正确最大数量时,我将记录插入 dataset_master 表时,此查询就能正常工作。但是当我在表格中删除像(从1到5)的亮片中的记录时,在我插入新记录之后,我每次都得到最后一个最大数字,如
如果我的表有10条记录,那么我的 dataset_id 是1到10; 当我删除1到5之类的记录时,表中仍保留6到10条记录以及 dataset_id 。 然后在我插入新记录后,每次我 10 (最大数量),所以每次新记录 dataset_id 时 dataset_id + 1 所以 11 。
我不知道的问题是什么(在查询中可能有误?),请提出您的建议。
答案 0 :(得分:1)
您需要重置sqlite_sequence table中的序列。我建议你不要担心这一点,因为当它成为一个问题时,这将是你头疼的最少。
答案 1 :(得分:0)
我认为问题不在您的查询中,而是在您的插入中。插入新行时强制dataset_id
吗?