我正在尝试将数据从cvs文件填充到数据库中。我得到了这个1064错误,但我找不到bug的位置。
追踪(最近的呼叫最后):
文件“code.py”,第252行,in fill_patient()
在fill_patient中填写“code.py”,第169行 cur.execute(SQL,数据)
文件“/usr/lib/python2.6/site-packages/MySQLdb/cursors.py”,第166行,执行中
self.errorhandler(self,exc,value)
文件“/usr/lib/python2.6/site-packages/MySQLdb/connections.py”,第35行,在defaulterrorhandler中 提出错误类,错误值
_mysql_exceptions.ProgrammingError:(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在''Y1_99341','case','Solo,Han'附近使用正确的语法',' Tatooine St-Wookie Clinic',0,26,37,0)'在第1行“)
我的代码:
def fill_genotype():
con = connect()
cur = con.cursor()
with open("./data/genotype.csv",'rU') as f:
header = ['SAMPLE_ID','PATIENT_ID','LOCATION','AFTER_TREAT','CONCENT','VOLUME','RIN','DATE_COLLECT','FREEZER_ID','BOX_ID','X','Y']
reader = csv.DictReader(f,fieldnames=header)
reader.next()
for row in reader:
cur.execute("INSERT INTO INVESTIGATOR VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",(row['SAMPLE_ID'],row['PATIENT_ID'],row['LOCATION'],row['AFTER_TREAT'],row['CONCENT'],row['VOLUME'],row['RIN'],row['DATE_COLLECT'],row['FREEZER_ID'],row['BOX_ID'],row['X'],row['Y']))
con.commit()
con.close()