gpt4 book ai didi

python - python 脚本中的 mySQL 查询

转载 作者:行者123 更新时间:2023-11-29 10:47:39 26 4
gpt4 key购买 nike

我需要对数据库执行查询,以检查数据库中是否存在文件以及文件修改时间是多少。函数参数是 name(文件名)和 mtime1(文件系统的 mod 时间)。我使用脚本:

def chkModTS(name,mtime1):
import mysql.connector
cnx = mysql.connector.connect(user='uname', password='pass', host='192.168.1.1', database='newpms')
cursor = cnx.cursor()
query=("SELECT mtime FROM pf_scanOrd WHERE filename=%s")
query_data=(name)
cursor.execute(query,query_data)
print(cursor.rowcount)
if cursor.rowcount==-1:
chkModTS.upd=1
print('pole DBs')
return
for (mtime) in cursor:
print(float(mtime[0])!=mtime1)
if float(mtime[0])!=float(mtime1):
chkModTS.upd=1
print('need update')
return
cursor.close()
cnx.close()

当我运行这个函数时,结果将是:

mysql.connector.errors.ProgrammingError: 1064 (42000): 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 '%s' at line 1

不明白,需要帮助

最佳答案

您的查询字符串中有错误:

"SELECT mtime FROM pf_scanOrd WHERE filename=%s"

有一个 %s 占位符,但没有用任何值替换它。你应该像这样使用它:

"SELECT mtime FROM pf_scanOrd WHERE filename=%s" % filename_variable

其中filename_variable将保存您要查询的文件名。

关于python - python 脚本中的 mySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44284588/

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