如何获取 python 中最后插入的生成的 uuid?

How do I get generated uuid of last insert in python?

如何获取我在 python 中最后插入的生成的 uuid_short?

cursor.lastrowid 按照 here 的推荐总是 returns 0

这是我的代码

import mysql.connector as DB
addlink = "INSERT INTO links (i,action,client,file) values (uuid_short(),%s,%s,%s)"
cursor.execute(addlink,link)
print(cursor.lastrowid)

cursor.lastrowid returns 前一个 INSERT 语句为 AUTO_INCREMENT 生成的值。其他方式生成的id不能使用

您可以先查询生成 UUID,然后再执行 INSERT,例如:

cursor.execute('SELECT UUID_SHORT()')
uuid, = cursor.fetchone()
cursor.execute(addlink, (uuid, *other_params))