获取此错误“1064(42000):您的SQL语法出错”

时间:2017-03-03 04:04:04

标签: python mysql

我正在尝试在我的表中执行一个名为'outfield'的INSERT,其中包含以下字段:outfieldplayerID(自动增量和PK),姓氏,Forename,团队,游戏,游戏开始,播放的分钟,目标,助攻,射门,射门,黄牌,红牌

我的代码如下:

import mysql.connector

conn = mysql.connector.connect(user='root',password ="password5",host='localhost',database='performance')
query = "INSERT INTO outfield ('Surname', 'Forename', 'Team', 'Games Played', 'Games Started', 'Minutes Played', 'Goals', 'Assists', 'Shots', 'Shots on goal', 'Yellow cards', 'Red cards') values('a','b','c','1','1','1','1','1','1','1','1','1')"

cursor = conn.cursor()
cursor.execute(query)
conn.commit()
rows = cursor.fetchall()
cursor.close()
conn.close()

我在INSERT行中遇到语法错误。我哪里错了?

1 个答案:

答案 0 :(得分:0)

在列名中使用反引号``而不是单引号''

insert into outfield (`Surname`, `Forename`, `Team`, `Games Played`, `Games Started`, `Minutes Played`, `Goals`, `Assists`, `Shots`, `Shots on goal`, `Yellow cards`, `Red cards`)
values ('a', 'b', 'c', '1', '1', '1', '1', '1', '1', '1', '1', '1')

此外,最好定义标识符,使得根本不需要使用反引号。