我正在寻找一种简单的方法来根据该行首先是否存在来查询更新或插入。我现在正在尝试使用 Python 的 MySQLdb。这就是我执行查询的方式:
self.cursor.execute("""UPDATE `inventory`
SET `quantity` = `quantity`+{1}
WHERE `item_number` = {0}
""".format(item_number,quantity));
我已经看到了四种方法来实现这一点:
重复密钥。不幸的是,主键已经被用作唯一 ID,所以我不能使用它。
代替。和上面一样,我相信它依赖于一个主键才能正常工作。
mysql_affected_rows()
. 通常您可以在更新行后使用它来查看是否有任何影响。我不相信 Python 中的 MySQLdb 支持此功能。当然最后的努力是:做一个 SELECT 查询,fetchall,然后根据结果更新或插入。基本上我只是想将查询保持在最低限度,因此现在 2 个查询而不是 1 个查询不太理想。
基本上我想知道在选择选项 4 之前是否错过了任何其他方法来完成此任务。感谢您的时间。