我需要设置一个包含两个自动递增字段的表。 1 个字段将成为每条添加记录的标准主键。另一个字段将用于将多个记录链接在一起。
这是一个例子。
field 1 | field 2
1 1
2 1
3 1
4 2
5 2
6 3
请注意,字段 1 中的每个值都有自动递增。字段 2 有一个自动增量,增量略有不同。记录 1,2 和 3 同时进行。记录 4 和 5 同时进行。记录6是单独制作的。
读取字段 2 的最后一个条目然后在我的 php 程序中将其递增 1 是否最好?只是在寻找最佳解决方案。
最佳答案
您应该有两个单独的表。
ItemsToBeInserted
id, batch_id, field, field, field
BatchesOfInserts
id, created_time, field, field field
然后您将创建一个批处理记录,并将该批处理的插入 ID 添加到将成为该批处理一部分的所有项目。
如果您将 batch_hash
字段添加到 batches 表,然后检查每个批处理是否是唯一的,这样您就不会意外地提交相同的批处理两次,您将获得奖励积分。
如果您正在寻找一种只使用一张表的更糟糕的方法,您可以这样做:
$batch = //Code to run and get 'SELECT MAX(BATCH_ID) + 1 AS NEW_BATCH_ID FROM myTable'
并将该 ID 添加到所有插入的记录中。不过我不推荐这样做。你会遇到麻烦。
关于Mysql 组条目自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24044656/