【问题标题】:MySQLdb Python - does my code look correct?MySQLdb Python - 我的代码看起来正确吗?
【发布时间】:2011-10-28 13:35:49
【问题描述】:
c.execute("""DELETE FROM data
WHERE user = %s AND machine = %s""" , (user, machine))

我有两个用 get 发送的变量(技术上它们是机器+用户,然后我根据加号拆分变量),然后分别分配给变量机器和用户。

理论上这个脚本应该可以工作,对吗?我做错了什么?它不会删除我希望它删除的记录,或者根本不会删除任何记录。

【问题讨论】:

  • 那部分看起来不错 - 您是否检查过 usermachine 是否符合您的预期,并且与数据库中的相同?
  • 您是否已致电connection.commit() 提交交易? (需要 INNODB 表,但不是 MyISAM 表)。
  • 当您使用它时,a) 验证 c 是否应该是它并且 b) 使用完全硬编码的查询字符串对其进行测试 c) 检查从 c.execute 返回的错误跨度>
  • 要调试它,您可能还想打印出c._executed,它将显示发送到 MySQL 服务器的字符串。然后在mysql> 命令行提示符下测试该字符串。它是否按您的预期工作?

标签: python mysql mysql-python


【解决方案1】:

my data won't go away。提示:需要commit()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2014-02-28
    • 2020-09-30
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多