我有一个mysql数据库。我有一个名为 id 的列,它也是主键。我已经手动插入到 25 岁。现在我已经编写了一个 python 代码插入到数据库中。插入代码是
c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
现在,我遇到的问题是 auto_increment 列中的值是任意的。比如,在 25 之后插入的值是 1116。有没有办法按递增顺序插入它们?谢谢
我有一个mysql数据库。我有一个名为 id 的列,它也是主键。我已经手动插入到 25 岁。现在我已经编写了一个 python 代码插入到数据库中。插入代码是
c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
现在,我遇到的问题是 auto_increment 列中的值是任意的。比如,在 25 之后插入的值是 1116。有没有办法按递增顺序插入它们?谢谢
对主节点的关键要求是它必须是唯一的。没有硬性要求主键是完全顺序的,或者甚至是一致的升序。
如果您需要一个始终升序且完全顺序的值,那么好的做法是使用单独的列(即不是主键列)来存储顺序值。您需要在代码中使用一种考虑并发问题的机制(如果适用)来设置这些值。
对于大多数数据库实现,没有明确保证自动增量值将是完全连续的。
您可以auto_increment
通过以下方式获得价值lastrowid
c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
my_last_id = c.lastrowid # cursor.lastrowid