我试图在插入后检索记录的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