假设我有下表名为assets的表,其中包含以下字段:
id | job_id | title
我想使用id和job_id作为主键。 job_id是外键。 id字段自动递增。 如果没有具有相同job_id的行,我将如何获得id以0开始递增。 如果有一行具有相同的job_id,则将id递增1,依此类推?
我正在寻找的结果是一个看起来像这样的表:
id | job_id | title
0 1 hi
1 1 hello
2 1 goodbye
0 2 hi
1 2 hello
现在假设添加了一个job_id = 3的新行。 id字段应该再次从0开始自动递增。
答案 0 :(得分:3)
如果使用MyISAM存储引擎,则多列主键中的自动增量列将从非自动增量列中的每个新值开始。
请参阅http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html
答案 1 :(得分:-1)
如果你的意思是从零开始,the documentation表示auto_increment从1开始设计。但是,“如果启用了NO_AUTO_VALUE_ON_ZERO SQL模式,则可以将AUTO_INCREMENT列中的0存储为0,而不生成新的序列值。”
如果您要回收表中不再使用的数字,那么这应该是自动发生的,如果删除的数字是使用的最高数字。