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

标签 python mysql peewee flask-peewee

我需要在 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 数据库后添加不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57495172/

相关文章:

python - 我可以把它写成包装器吗?

python - 将原始输入附加到列表

python:我可以将基于部分名称的文件移动到具有该名称的文件夹中吗

python - 每种编程语言中的正则表达式都一样吗?

python - 如何从peewee获取sql查询?

mysql - mysql sqoop 中的特殊字符导入为文本和 Parquet 文件

php - 多次插入后更新特定记录 - 可能使用last_insert_id()

c++ - QT 5.7 MySQL 驱动程序未加载

python - 子进程返回退出状态 1

python - 使用 Peewee 在 MariaDB 中强制执行 Not Null 字段