• SQLAlchemy mysql插入特殊字符错误


    SQLAlchemy 插入特殊字符操作

    引号错误

    曾经在使用SQLAlchemy执行sql语句的时候遇到插入字符串时引号的错误
    例如下面的代码sql在拼接后就变成了注释中的字符串,这时候插入mysql当然出错。

    content = 'test"hhhh",'
    sql = 'insert into comment(content) values("%s")'%content
    #insert into comment(content) values("test"hhhh",")
    execute_sql(sql)
    

    image.png

    解决方法:
    1.自己转义为引号加上反斜杠

    content = content.replace('"','\"')
    

    2.第三方依赖包

    import pymysql
    content =pymysql.escape_string(content )  
    

    pymysql.escape_string可转义的字符
    image.png

    冒号错误

    最近遇到个巨坑的问题,以冒号开始的字符串也无法保存,或者以字符串中存在 中文标点符号加冒号的情况也无法保存。(具体原因未找到,似乎是这种操作被当做SQLAlchemy 中的对象处理了)
    image.png

    content = ":test"
    content = ",:test"
    sql = 'insert into comment(content) values("%s")'%content
    execute_sql(sql)
    
  • 相关阅读:
    Android启动过程介绍
    第九届蓝桥杯Java B组
    二分模板和区别
    第十届蓝桥杯Java B组
    2019 ICPC Asia Nanjing Regional(现场赛)
    PAT 甲级 1057 Stack
    P1972 [SDOI2009]HH的项链
    Python中的字典排序
    Comet OJ
    ekmp模板
  • 原文地址:https://www.cnblogs.com/i-love-python/p/11593501.html
Copyright © 2020-2023  润新知