将字符串保存到 MySQL 数据库后添加不需要的字符

Unwanted chars are added after saving string to MySQL database

我需要在 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()

您似乎在为字段分配元组而不是字符串或数字。我不确定您的源数据来自何处,但如果没有其他问题,请检查尾随逗号。