mysql - 无法确定语法错误的原因

标签 mysql

我正在运行插入查询以将数据添加到数据库中,但出现以下错误

"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s' at line 1")"

我已查看代码,但无法确定原因

cursor.execute("INSERT IGNORE INTO footballtest(`codmeci` ,`datameci`,`orameci` ,`sezonul` ,`etapa` ,`txtechipa1`,`txtechipa2` ,`scor1` ,`scor2` ,`scorp1` ,`scorp2` ,`codechipa1` ,`codechipa2` ,`cotaa` ,`cotae`,`cotad`,`cotao` ,`cotau` ,`suth` ,`suta` ,`sutht`,`sutat` ,`corh` ,`cora` ,`foulsh` ,`foulsa` ,`yellowh`,`yellowa` ,`ballph`,`ballpa` ,`mgolh` ,`mgola` ,`mgol`) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"), (row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7],row[8],row[9],row[10],row[13],row[14],row[16],row[17],row[18],row[19],row[20],row[29],row[30],row[31],row[32],row[33],row[34],row[35],row[36],row[37],row[38],row[39],row[40],row[57],row[58],row[59])

最佳答案

有时将一个大问题简化可以揭示问题所在。这是您的插入内容,但仅使用三列:

sql = "INSERT IGNORE INTO footballtest(codmeci, datameci, orameci) VALUES (%s,%s,%s)"
cursor.execute(sql, (row[0], row[1], row[2]))

请仔细注意,该模式是:

cursor.execute(<some SQL string>, (some CSV tuple of values to bind))

关于mysql - 无法确定语法错误的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55649113/

相关文章:

mysql - 需要一些帮助来破译复杂连接的 MYSQL EXPLAIN 输出

mysql - 在 csv 文件中引用以导入 MySQL

mysql - SQL 更新具有 ID 的最小日期的行

本案例的 MySQL 数据库

我的 If 语句中的 C# 语法问题

php - PDO fetchAll 需要很长时间

c# - 从 MySQL 获取结果

php - 根据刚刚插入的多个值生成字符串

mysql - 在字段中的特定单词后选择单词

mysql - 在关系中(在 ExpressionEngine 中)使用自定义表的最佳方法?