<p>我需要对数据库执行查询,以检查数据库中是否存在文件以及文件修改时间是多少。函数参数是name(文件名)和mtime1(来自文件系统的mod time)。我使用脚本:</p>
<pre><code>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()
</code></pre>
<p>当我运行这个函数时,结果是:</p>
<blockquote>
<p>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</p>
</blockquote>
<p>想不出来,需要帮助吗</p>