QSqlTableModel不从insert中检索最后一个id

时间:2017-06-07 01:40:46

标签: python mysql pyqt pyqt5

我试图在插入后检索记录的id(使用PyQt5)。 数据库是MySql,id是Not Null并且自动递增。 执行下面的代码后,记录正确插入到表中,但lastInsertId()命令返回None。

有人能告诉我代码是否有问题?我很感激帮助。

from PyQt5 import QtSql

db = QtSql.QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setUserName('root')
db.setPassword('')
db.setDatabaseName('teste')
db.open()

model = QtSql.QSqlTableModel(None, db)
model.setTable("test_table")

record = QtSql.QSqlRecord(model.record())
record.setGenerated("id", True) # this line can be commented, the result is the same
record.setValue("column_test", "teste")
teste = model.insertRecord(-1, record)
print(model.query().lastInsertId()) #printed: None
print(model.lastError().text()) #printed: nothing
print(model.query().driver().hasFeature(QtSql.QSqlDriver.LastInsertId)) #printed: True

0 个答案:

没有答案