我从 csv 文件中提取了以下值:
vars = (
'001U0000016lf5jIAA',
'Bam Margera Presents: Where the #$&% is Santa? (Unrated)',
'a0KU000000JMpgzMAD'
)
我该如何插入这些?这就是我当前正在做的事情,但它给出了 SQL 错误,可能是因为第二个 var 中未转义的 %
--
cursor.execute('''INSERT INTO mytable VALUES (%s, %s, %s)''', vars)
TypeError: not all arguments converted during string formatting
注意:我宁愿保持变量不变(不尝试转义其中的任何内容,而只是修改 SQL/python 语句。
最佳答案
试试这个
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)
关于python - mysqldb 中的转义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47984934/