如何解决Python/SQL/pydobc:获取计数器的 if 操作结果?
我正在运行以下代码以将电子邮件添加到数据库表(如果它们尚不存在)。我希望能够计算添加的电子邮件和已经存在的电子邮件。
import pyodbc
emails = [# a list of emails]
new_count = 0
existed_already_count = 0
for email in emails:
cursor.execute(f"""
IF NOT EXISTS (
SELECT *
FROM TableName
WHERE email = '{email}'
)
BEGIN
INSERT INTO TableName(email)
VALUES ('{email}')
END
""")
# new_count OR existed_already_count += 1
我尝试在每次循环后检查 cursor.description
,但无论该项是否存在,它都会返回 None
。有没有办法做到这一点?
解决方法
这最初是作为评论发布的。
看看cursor.rowcount
。我不是 100% 确定在电子邮件已经存在的情况下它将返回什么值,它应该返回 -1
,但根据文档:https://www.python.org/dev/peps/pep-0249/#rowcount
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。