1

我有一个mysql数据库。我有一个名为 id 的列,它也是主键。我已经手动插入到 25 岁。现在我已经编写了一个 python 代码插入到数据库中。插入代码是

c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))

现在,我遇到的问题是 auto_increment 列中的值是任意的。比如,在 25 之后插入的值是 1116。有没有办法按递增顺序插入它们?谢谢

4

2 回答 2

0

对主节点的关键要求是它必须是唯一的。没有硬性要求主键是完全顺序的,或者甚至是一致的升序。

如果您需要一个始终升序且完全顺序的值,那么好的做法是使用单独的列(即不是主键列)来存储顺序值。您需要在代码中使用一种考虑并发问题的机制(如果适用)来设置这些值。

对于大多数数据库实现,没有明确保证自动增量值将是完全连续的。

于 2013-01-08T07:09:16.140 回答
0

您可以auto_increment通过以下方式获得价值lastrowid

c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
my_last_id = c.lastrowid  # cursor.lastrowid

为进一步参考潜水如何在使用 Python 插入 MySQL 数据库后获取“id”?

于 2013-01-08T08:12:45.387 回答