python - mysqldb 中的转义值

标签 python mysql mysql-python

我从 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/

相关文章:

php - 添加表单上的 token 不匹配 laravel

python - 使用 Python 启动临时 MySQL 服务器

python - 计数后的 Pandas where 子句

python - 如何在 Python 中使用签名 URL 上传到 Google 存储桶?

python - sklearn min_impurity_decrease 解释

php - 使用加载程序显示/隐藏 php mysql 结果

java - 按名称从 ResultSet 中获取值

python - MySQLdb 和 _mysql 版本不兼容 : how to upgrade _mysql

python - 在 Lion-mountain (Mac OS X 10.8) 上安装 MYSQL-python 时出现 clang 错误

Python:将 Quill delta 转换为 HTML