Jul-01-2019, 06:47 AM
I tried all the possible ways to get out this error.. I still didn't understand where its going wrong, below is my code,
Note: Variable t_tup I will pass it from the file dynamically, here for testing purpose I am hard coding it
mysql_conn = mysql_getConn('db') cur = mysql_conn.cursor() cur._defer_warnings=True mysql_conn.escape_string("") def load_table(): for fname in files_path: filename_ext = os.path.basename(fname) l_filename, file_extension = os.path.splitext(filename_ext) with open(fname,'r') as loop_files: csvreader = csv.reader(loop_files,delimiter='|') fields=next(csvreader) fields_1 = map(lambda x: '`'+x+'`',fields) f_str=",".join(fields_1) # find the length of the columns and add that many place hollders # #place_holder = ','.join(['"'+'%s'+'"'] * len(fields)) place_holder = ','.join(['%s'] * len(fields)) insert_into = "INSERT INTO " obracket ="(" cbracket =")" values = "VALUES" semi_colon=";" f_insert_into = f'{insert_into}' f_obracket=f'{obracket}' f_cbracket=f'{cbracket}' f_values=f'{values}' f_semi_colon=f'{semi_colon}' sql_format = f_insert_into + f'{database_name}'+'.'+ f'{l_filename}' + f_obracket + f'{f_str}' +\ f_cbracket sql_format_values = f_values + f_obracket + f'{place_holder}' +f_cbracket + f_semi_colon sql_format= '"' + f'{sql_format + sql_format_values}' +'"' t_tup =("Feb-2016","25%","10%","11%") print(sql_format,t_tup) cur.execute(sql_format,(t_tup)) mysql_conn.commit()In this code while cursor executing I am getting the error pymysql.err.ProgrammingError: (1064, '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 \'"INSERT INTO tbl(
column1
,columns2
\' at line 1')Note: Variable t_tup I will pass it from the file dynamically, here for testing purpose I am hard coding it