寻找

2013-11-05 74 views
3

我有在“学生”表中创建一个新的记录简单的登记表的自动递增字段的值:寻找

cur = con.cursor() 
query = "INSERT INTO students (Name, Address, Major, Phone, Email, Password) values (%s, %s, %s, %s, %s, %s)" 
args = [name, address, major,phone, email, password] 

cur.execute(query, args) 
con.commit() 

列ID是自动递增,所以为了得到最后一个ID,我选择最高

query = "SELECT MAX(Id) FROM students;" 
cur.execute(query) 
id = cur.fetchone()[0] 

它工作在我的小作业项目,但如何将它在一个重载的项目,那里是某事物的可能性进行select语句之前创建?

回答

2

使用lastrowid属性:

... 
cur.execute(query, args) 
id = cur.lastrowid 
+0

之前提交? – Anarion

+0

@Anarion,如果你使用相同的游标对象,它(之前/之后)将不会有所作为。 – falsetru

+0

谢谢。它会给我一个来自数据库的“内部”ID?没有“Id”列的值? (原谅我的天真的问题) – Anarion