【发布时间】:2011-10-28 13:35:49
【问题描述】:
c.execute("""DELETE FROM data
WHERE user = %s AND machine = %s""" , (user, machine))
我有两个用 get 发送的变量(技术上它们是机器+用户,然后我根据加号拆分变量),然后分别分配给变量机器和用户。
理论上这个脚本应该可以工作,对吗?我做错了什么?它不会删除我希望它删除的记录,或者根本不会删除任何记录。
【问题讨论】:
-
那部分看起来不错 - 您是否检查过
user和machine是否符合您的预期,并且与数据库中的相同? -
您是否已致电
connection.commit()提交交易? (需要 INNODB 表,但不是 MyISAM 表)。 -
当您使用它时,a) 验证 c 是否应该是它并且 b) 使用完全硬编码的查询字符串对其进行测试 c) 检查从 c.execute 返回的错误跨度>
-
要调试它,您可能还想打印出
c._executed,它将显示发送到 MySQL 服务器的字符串。然后在mysql>命令行提示符下测试该字符串。它是否按您的预期工作?
标签: python mysql mysql-python