0
点赞
收藏
分享

微信扫一扫

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

大自然在召唤 2022-02-09 阅读 57

报错结果为: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}'

增加数据

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()

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

举报

相关推荐

0 条评论