postgresql 如何插入含 ‘ 数据?

cur.execute("UPDATE scholars SET name='{}' WHERE id={} and name is null".format(author, scholar_id))
psycopg2.ProgrammingError: syntax error at or near "Neill"
LINE 1: UPDATE scholars SET name='O'Neill, Kevin' WHERE id=12403 and...

数据应该是:O'Neill, Kevin

阅读 5.6k
4 个回答
cur.execute(
    """UPDATE scholars SET name = %s WHERE id = %s and name is null""", (author, scholar_id))

对插入的数据先做转义处理,一个单引号变成两个单引号,如O'Neill, Kevin 处理成O''Neill, Kevin

单引号冲突了吧

cur.execute('''UPDATE scholars
               SET name = "%s"
               WHERE id = %s and name is null
               ''' % (author, scholar_id))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题