2024-04-20 08:28:03 发布
网友
我在mysql中有一个简单的表,包含以下字段:
使用MySQLdb,一个python模块,我想在表中插入一个名称和描述,并取回id
在伪代码中:
db = MySQLdb.connection(...) queryString = "INSERT into tablename (name, description) VALUES" % (a_name, a_desc);" db.execute(queryString); newID = ???
我想可能是
newID = db.insert_id()
按原始海报编辑
结果,在我使用的MySQLdb版本中(1.2.2) 您可以执行以下操作:
conn = MySQLdb(host...) c = conn.cursor() c.execute("INSERT INTO...") newID = c.lastrowid
我把这个作为正确的答案,因为它让我指向了正确的方向。
你也可以做一个
conn.insert_id
我不知道这是否有一个MySQLdb特定的API,但是通常您可以通过SELECTing LAST_INSERT_ID()获得最后插入的id
它是基于每个连接的,所以如果其他客户机也执行插入,就不会有竞争条件的风险。
我想可能是
按原始海报编辑
结果,在我使用的MySQLdb版本中(1.2.2) 您可以执行以下操作:
我把这个作为正确的答案,因为它让我指向了正确的方向。
你也可以做一个
conn.insert_id
我不知道这是否有一个MySQLdb特定的API,但是通常您可以通过SELECTing LAST_INSERT_ID()获得最后插入的id
它是基于每个连接的,所以如果其他客户机也执行插入,就不会有竞争条件的风险。
相关问题 更多 >
编程相关推荐