我从csv文件中提取了以下值:
vars = (
'001U0000016lf5jIAA',
'Bam Margera Presents: Where the #$&% is Santa? (Unrated)',
'a0KU000000JMpgzMAD'
)
我如何插入这些?这就是我目前正在做的事情,但它可能因为第二个var中未转义的%
而发出SQL错误 -
cursor.execute('''INSERT INTO mytable VALUES (%s, %s, %s)''', vars)
TypeError:并非在字符串格式化期间转换所有参数
注意:我宁愿保持vars as-is(不试图逃避其中的任何内容,只修改SQL / python语句。
答案 0 :(得分:0)
试试这个
query = '''INSERT INTO mytable VALUES (%s, %s, %s)''', vars
cursor.execute(db.escape_string(query))
或
escaped = tuple(db.escape_string(x) for x in vars)
cursor.execute('''INSERT INTO mytable VALUES (%s, %s, %s)''', escaped)