gpt4 book ai didi

当我在执行中使用 %s 时出现 python- mysql 错误

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:46 27 4
gpt4 key购买 nike

我必须通过 python 从 mysql 中删除一些日期。我有超过 2000 个表。所以,我需要完成这段代码……我无法通过单击鼠标来处理这么多。我真的需要帮助。

嗯,我的猜测是这样的

sql ="delete from finance.%s where date='2000-01-10'"

def Del():
for i in range(0,len(data_s)):
curs.execute(sql,(data_s[i]))
conn.commit()

然而,它不起作用。

我只是当我像这样输入时,它就起作用了。

>>> query="delete from a000020 where date ='2000-01-25'"

>>> curs.execute(query) //curs=conn.cursor()

但是如果我在语法中添加 %s,它就不起作用了..

>>> table='a000050'

>>> query="delete from %s where date ='2000-01-25'"

>>> curs.execute(query,table)

ProgrammingError: (1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''a000050' where date ='2000-01-25'' at line 1")

也不行。

>>> curs.execute(query,(table))

ProgrammingError: (1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''a000050' where date ='2000-01-25'' at line 1")

有点不同...但相同。

>>> curs.execute(query,(table,))

我已经从这里阅读了很多问题,但是仅仅通过添加 () 或 ,它并没有解决......因为我是 python 和 mysql 的初学者,所以我真的需要你的帮助。感谢您阅读。

最佳答案

我遇到了同样的问题,我通过附加如下修复:

def Del():
for i in range(0,len(data_s)):
x = "delete from finance." + data_s[i] + "where date='2000-01-10'"
print x # to check the sql statement :)
curs.execute(x)
conn.commit()

关于当我在执行中使用 %s 时出现 python- mysql 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42153376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com