将字符串保存到 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()
您似乎在为字段分配元组而不是字符串或数字。我不确定您的源数据来自何处,但如果没有其他问题,请检查尾随逗号。
我需要在 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()
您似乎在为字段分配元组而不是字符串或数字。我不确定您的源数据来自何处,但如果没有其他问题,请检查尾随逗号。