我正在try 更正Python MYSQL update语句(使用变量):

cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)   

知道我哪里出错了吗?

推荐答案

它是should be:

cursor.execute ("""
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))

你可以用基本的字符串操作,

cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))

但是100.由于使用right waytm操作非常简单(且类似).正确地做.

唯一需要注意的是,有些数据库后端不遵循相同的字符串替换约定(我想到的是SQLite).

Mysql相关问答推荐

MySQL连接序列

MySQL滑动窗口动态间隔?

布尔值之间的 SQL less/greater 比较会产生意外结果

在MySQL查询中查找和替换表内的值

模拟Mysql Cursor类的fetchone()方法,并将其返回值设置为None

完全匹配 IN 子句中的所有值

在 MySQL 中跨日期和位置计算和排序实体的共现

MySql中的可见索引和不可见索引是什么

包含 group_contact 的视图的问题

如何在考虑另一表的值的情况下计算一列的值

你如何在 Node.js 中模拟 MySQL(没有 ORM)?

有什么方法可以显示`gunzip < database.sql.gz | 的进度? mysql ...`进程?

MySQL如何为数据库中的所有表生成DDL

使用 Java 通过 SSH 连接到远程 MySQL 数据库

MySQL 实用程序 - ~/.my.cnf 选项文件

在 Mac 上设置 Laravel php artisan migrate 错误:没有这样的文件或目录

MySQL - 错误 1045 - 访问被拒绝

如何将数组存储到mysql中?

ON UPDATE RESTRICT 有什么作用?

MySQL - 重复表