我有一个mysql数据库。我有一个名为id的列,它也是主键。我手动插入到25。现在我已经写了一个python代码插入到数据库中。插入的代码是
c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
现在,我遇到的问题是auto_increment列中的值是任意的。比如,25之后插入的值是1116.有没有办法按递增顺序插入它们? 谢谢
答案 0 :(得分:0)
对小学的关键要求是它必须是独一无二的。没有硬性和快速要求主键完全顺序,或者甚至连续提升。
如果您需要一个始终提升且完全顺序的值,那么最佳做法是使用单独的列(即主键列)来存储顺序值。您需要使用考虑并发问题的机制在代码中设置这些值(如果适用)。
对于大多数数据库实现,没有明确保证自动增量值将是完全顺序的。
答案 1 :(得分:0)
您可以auto_increment
lastrowid
值
c.execute("""INSERT INTO Website (website_name, enabled) VALUES (%s, 0)""", (store_name))
my_last_id = c.lastrowid # cursor.lastrowid
进一步参考潜水How do I get the "id" after INSERT into MySQL database with Python?