首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mysqldb中添加条目后递增id

在mysqldb中添加条目后递增id
EN

Stack Overflow用户
提问于 2012-08-21 09:23:02
回答 1查看 41关注 0票数 0

我正在尝试编写一个add entry方法,但我可以让id的递增起作用。它会影响我拥有的其他方法,因为当我执行delete时,它会删除所有条目,而不是删除特定的行。你们能帮帮忙吗。

代码语言:javascript
运行
复制
def addEntry () :

    #define cursor
    c=db.cursor()

    #execute cursor
    id=c.execute("select max(id)+1 from phones")

    # digs deep to get next id
    id = c.fetchall()[0].values()[0]

    #dosql 
    dosql("insert into phones values (%d,'%s','%s')" % (id,nameVar.get(), phoneVar.get()))
EN

回答 1

Stack Overflow用户

发布于 2012-09-19 04:14:19

在不了解更多关于确切问题的情况下,并且只查看您发布的代码,我看到了一些东西。

  1. 为什么您不使用auto_increment列作为您的'id‘,这是您正在尝试的功能,在检索行时从未见过以下语法:

id = c.fetchall().values()

这一行对我不起作用,因为c.fetchall()返回一个没有值方法的元组。由于您知道查询将只返回一行,因此您可以简单地执行以下操作:

代码语言:javascript
运行
复制
id = c.fetchone()[0]

or

id, = c.fetchone()

  1. 您没有锁定表,因此一次多次运行该代码很可能不会给出您想要的结果,并且可能最终得到两行相同的id。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12047310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档