【问题标题】:Unwanted chars are added after saving string to MySQL database将字符串保存到 MySQL 数据库后添加不需要的字符
【发布时间】:2019-12-21 00:56:25
【问题描述】:

我需要在 peewee 的帮助下更新我的 MySQL 数据库中的现有条目,并且遇到了一个非常奇怪的问题。

当我将数字保存为字符串时,保存后会添加一些新字符。

例如当我运行以下代码时:

obj = mydbtable.get(mydbtable.zid == zid)
myval = "10"
obj.myfield = myval
obj.save()

我在我的 PhpMyAdmin 中得到以下字符串:

(10,)

所以保存后myval的值将是(10,),而不是10

老实说,我不知道是什么导致了这个问题,因为我已经多次完成相同的保存任务并且总是像魅力一样工作。我尝试将变量作为int 传递,但得到了相同的结果。

更新

在保存obj 之后,调用下面的方法可以解决问题,但是这种解决方法有点矫枉过正,不是最优雅的解决方案:

    objy = mydbtable.get(mydbtable.zid == zid)
    ooo = objy.myfield
    objy.myfield = ooo.replace(',','').replace(')','').replace('(','').replace("'","")
    objy.save()

【问题讨论】:

    标签: python mysql peewee flask-peewee


    【解决方案1】:

    看起来您正在为该字段分配一个元组,而不是一个字符串或数字。我不确定您的源数据来自哪里,但如果没有其他问题,请检查尾随逗号。

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 2013-04-03
      • 2017-01-07
      • 1970-01-01
      • 2018-09-21
      • 2014-12-25
      • 2011-09-30
      • 2015-02-07
      • 2013-03-27
      相关资源
      最近更新 更多