gpt4 book ai didi

python - 如何在 INSERT IGNORE 上获取 rowID

转载 作者:行者123 更新时间:2023-11-29 06:28:03 24 4
gpt4 key购买 nike

获得以下 PK 的最佳方法是什么:

self.cursor.execute('INSERT IGNORE INTO table (url, country) VALUES (%s, %s)', (line['url'], line['country']))

换句话说,如果它已经存在,我将需要获取那个 PK,但如果它不存在,它将被插入,然后获取 LAST_INSERT_ID。有没有办法不做三个查询就可以做到这一点?执行此模式的最佳方法是什么?

最佳答案

要在插入数据时获取 LAST_INSERT_ID,请不要使用 INSERT IGNORE。相反,使用 ON DUPLICATE KEY UPDATE 子句来获取 id:

INSERT INTO table (url, country)
VALUES (%s, %s)
ON DUPLICATE KEY
UPDATE
id = LAST_INSERT_ID(id);

其中 id 代表表格的唯一列。

现在您仍然需要另一个查询来获取更新后的 LAST_INSERT_ID

关于python - 如何在 INSERT IGNORE 上获取 rowID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29722148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com