当前位置:   article > 正文

关于sqlalchemy.exc.DataError: (pymysql.err.DataError) (1264, “Out of range value for column问题的解决

sqlalchemy.exc.dataerror: (pymysql.err.dataerror) (1264, "out of range value

报错结果为:sqlalchemy.exc.DataError: (pymysql.err.DataError) (1264, “Out of range value for column ‘sal’ at row 1”)的原因是,所传参数产出规定的范围

如下代码

创建模型类

class Person(Base):
    __tablename__='t_person'
    id=Column(name='id',type_=Integer,primary_key=True,autoincrement=True)
    name=Column(name='name',type_=String(20),nullable=False)    #不能为空
    age=Column(name='age',type_=String(20))
    sal=Column(name='sal',type_=DECIMAL(6,2))
    phone=Column(name='phone',type_=String(11),unique=True)
    city=Column(name='city',type_=String(20))
    hire_date=Column(name='hire_date',type_=DateTime,default=datetime.now)
    desc=Column(name='desc',type_=Text(100),nullable=True)

    def __str__(self):
        return f'员工编号:{self.id}--员工姓名:{self.name}--员工手机号:{self.phone}'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

增加数据

def save():
    p2=Person(name='python',age=18,sal='20000.88',phone='13888888888',city='北京',hire_date='2021-12-12',desc='大数据')
    session.add(p2)
    session.commit()
  • 1
  • 2
  • 3
  • 4

第6行代码:sal=Column(name='sal',type_=DECIMAL(10,2))中DECIMAL(6,2):第一个参数是用来标记这个字段总能能存储多少个数字,第二个参数表示小数点后有多少位;明显20000.88不符合条件。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号