Mysql更新语法错误Python | 珊瑚贝

Mysql Update Syntax Error Python


我一直在关注这个先前的答案,但是我仍然收到语法错误:

堆栈溢出答案

1
2
3
4
5
    cursor.execute (“””
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
  “””
, (Year, Month, Day, Hour, Minute, ServerID))

我的代码是:

1
2
3
4
5
6
7
8
9
10
def postToMySQL(data,fieldname,table,col):
if fieldname ==“Year”:
    sql =“INSERT INTO” + table +” (“+ fieldname +“) VALUES (%s)”
    c.execute(sql, data)
else:
    c.execute (“””
   UPDATE %s
   SET US=%s
   WHERE ID=%s
   “””
, (table, data, col))

然后表格看起来像:

Stack

语法错误是:

_mysql_exceptions.ProgrammingError: (1064….near ”OilProvedReservesHistory’ SET US = ‘36.533’ WHERE ID=1′ at line 1

你能发现错误吗? ?谢谢


应该是这样的,没有引号

SET US = ‘36.533’

你能试试这个吗:

1
2
3
UPDATE %s
   SET US=%s
   WHERE ID=%s
  • 干杯。我在发布之前尝试过,但忽略了检查错误是否不同。现在抛出:TyperError: not all agruments convert during string formatting
  • 从头开始,从列表中删除字段名仍然会给出错误:\\’\\’OilProvedReservesHistory\\’\\\\
    \\\\\\\\t 设置我们 = \\’36.533\\’\\\\
    \\\\\\\\t 其中 ID=1\\’。是不是和 \\\\ 有关系
    \\\\\\\\t 生意?
  • 我不认为 \\\\
    \\\\\\\\t 很重要,因为我尝试将其全部放在一行上,错误变为: \\’\\’OilProvedReservesHistory\\’ SET US=\\’36.533\\’ WHERE ID=1\\’ at line 1
  • 啊,感谢 feco,但如果我明确输入表名,它就可以工作,即: else: \\\\t\\\\tc.execute (” \\\\t UPDATE OilProvedReservesHistory \\\\t SET US=%s \\\\t WHERE ID =%s \\\\t\\\\t”, (data, col)) 有人能解释一下为什么会这样吗?我是否必须每次都像这样进行蛮力字符串连接? sql = “INSERT INTO ” table ” (” fieldname “) VALUES (%s)”
  • \\’OilProvedReservesHistory 后面有一个 \\’,使用 \\’ 时要小心,因为它在 SQL 中表示 varchar,在进入 SQL 之前尝试连接你的字符串,并确保没有孤立的 \\’


来源:https://www.codenong.com/10486211/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8787.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?