Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL语句python、MySQL中并没有使用所有参数_Python_Mysql_Sql Server_Pymysql_Pysqlite - Fatal编程技术网

SQL语句python、MySQL中并没有使用所有参数

SQL语句python、MySQL中并没有使用所有参数,python,mysql,sql-server,pymysql,pysqlite,Python,Mysql,Sql Server,Pymysql,Pysqlite,我正在尝试开发这个用python执行的SQL评分系统,但是我在Sublime中遇到了以下错误,有人知道如何解决和调整将来可能出现的错误吗。我在不同的堆栈问题上研究过类似的问题,但找不到我想要的是什么 Traceback (most recent call last): File "C:\Users\User\Desktop\python\demo.py", line 20, in <module> mycursor.executemany(sql, v

我正在尝试开发这个用python执行的SQL评分系统,但是我在Sublime中遇到了以下错误,有人知道如何解决和调整将来可能出现的错误吗。我在不同的堆栈问题上研究过类似的问题,但找不到我想要的是什么

Traceback (most recent call last):
  File "C:\Users\User\Desktop\python\demo.py", line 20, in <module>
    mycursor.executemany(sql, val)
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\mysql\connector\cursor.py", line 668, in executemany
    stmt = self._batch_insert(operation, seq_params)
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\mysql\connector\cursor.py", line 613, in _batch_insert
    raise errors.ProgrammingError(
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement
回溯(最近一次呼叫最后一次):
文件“C:\Users\User\Desktop\python\demo.py”,第20行,在
mycursor.executemany(sql,val)
文件“C:\Users\User\AppData\Local\Programs\Python39\lib\site packages\mysql\connector\cursor.py”,第668行,在ExecuteMy中
stmt=自身批插入(操作,顺序参数)
文件“C:\Users\User\AppData\Local\Programs\Python39\lib\site packages\mysql\connector\cursor.py”,第613行,在批插入中
引发错误。编程错误(
mysql.connector.errors.ProgrammingError:SQL语句中未使用所有参数
导入mysql.connector
db=mysql.connector.connect(
host=“localhost”,
port=“3306”,
user=“root”,
passwd=“root”,
database=“trial1”
)
mycursor=db.cursor()
mycursor.execute(“创建表trial2(名称文本NULL、年龄INT NULL、收缩压INT NULL、舒张压INT NULL、临床特征检查文本NULL、症状持续时间INT NULL、糖尿病历史文本NULL、分数fortia FLOAT NULL)”)
sql=“在试验中插入2(姓名、年龄、收缩压、舒张压、临床特征、症状持续时间、糖尿病史、ABCD²评分)值(%s、%d、%d、%s、%d、%s、%f)”
val=[
('Person A'、'71'、'137'、'85'、'Speech Distribution With Visibility'、'17'、'Yes',None),
(‘患者B’、‘92’、‘125’、‘78’、‘其他症状’、‘43’、‘是’、‘无’),
(“患者C”、“27”、“130”、“90”、“其他症状”、“34”、“否”、“无”)
]
mycursor.executemany(sql,val)
mydb.commit()
打印(mycursor.rowcount,“已插入”)
sql=“更新trial2集合ABCD²ScoreForTIA=((年龄>=60)+(收缩压>=140)+(舒张压>=90)+当“单侧无力”时出现症状的病例临床特征,当“无无力的言语障碍”时出现2例,当“其他症状”时出现1例,当症状持续时间>=60时出现0例,当症状持续时间>=10时出现2例,当症状持续时间<10时出现1例,当症状持续时间<10时出现0例,则出现0例(糖尿病病史='Yes'))/8其中ABCD²score fortia为空)
mycursor.execute(sql)
mydb.commit()
打印(mycursor.rowcount,“受影响的记录”)
副本

第14行:更改为

sql = "INSERT INTO trial2 (Name, Age, BPsystolic, BPdiastolic, ClinicalFeaturesOfTheTia, DurationOfSymptoms, HistoryOfDiabetes, ABCD²ScoreForTIA) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"

所有值占位符应为
%s
。这不是字符串插值,因此
%d
%f
不适用。您的标题是MySQL,但您已经标记了SQL Server和PySQLite?两种不同的关系数据库?请把你的标签整理一下好吗。