【问题标题】:Python sqlalchemy how to deal with nullPython sqlalchemy如何处理null
【发布时间】:2015-03-16 12:02:12
【问题描述】:

我做了一个烧瓶网络框架,并在 UI 上执行 sql 更新。现在我遇到了一个问题 一个数据值是json字符串内容是:

{"username":"test","measureid":null}

当我使用 python sqlalchemy 更新日期时:

sql="update dh_base_measure_get_10 set json="{\"username\":\"test\",\"measureid\":null}"
db.session.execute(sql)

但系统收到错误消息:

StatementError: A value is required for bind parameter u'null' (original cause: InvalidRequestError: A value is required for bind parameter u'null')

是["measureid":null]造成的,如果["measureid":""]可以执行成功,但是[null]报错。请问怎么处理???

【问题讨论】:

    标签: python flask-sqlalchemy flask-wtforms


    【解决方案1】:

    SQLAlchemy 的驱动程序将:null 误认为是命名绑定参数而不是值。只需在冒号后添加一个空格,即可明确null 是一个值:

    sql = """update dh_base_measure_get_10
             set json='{"username": "test", "measureid": null}' """
    

    【讨论】:

    • 哦,太好了。谢谢。
    • 还有一个问题。如果我在 : 和 null 之间添加空格,它可以执行,但内容不适合我。因为 jsonstr 将是与其他响应比较的期望值。如何我可以在执行更新 sql 后修剪空间吗??
    猜你喜欢
    • 2017-08-04
    • 1970-01-01
    • 2016-02-20
    • 2019-02-04
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 2016-07-28
    • 2019-12-14
    相关资源
    最近更新 更多