- 35
- 0
问题描述
在插入数据的时候username 我传11位,例如12345678901,数据库只存1234567890,默认截取了前十位,
我的String(10) 设置的是10
问题出现的环境背景及自己尝试过哪些方法
暂时没想到什么好的方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
from port import db
class User(db.Model):
__tablename__ = 'b_user'
id = db.Column(db.Integer,primary_key=True )
username = db.Column(db.String(10),unique=True,index=True, nullable=False)
password = db.Column(db.String(16))
def __init__(self,username,password):
self.username = username
self.password = password
def __repr__(self):
return '<User %r>' % self.username
def __json__(self):
return ['id', 'username', 'password']
你期待的结果是什么?实际看到的错误信息又是什么?
我期待是,插入字符串超长,需要报出异常,不能插入数据库,求各位大佬给个解决的方案!!!不胜感激
- 共 0 条
- 全部回答
-
ㄊが亻 普通会员 1楼
在 Flask-SQLAlchemy 中,我们不能直接设置字段的最大长度,因为这是数据库本身的设计决定的。数据库通常使用预定义的最大长度限制来避免数据过大导致的存储和查询问题。
然而,你可以通过在数据库模型中设置最大长度限制来间接实现。例如,你可以创建一个包含字段长度的模型类,并在初始化函数中设置最大长度。然后,你可以使用
SQLAlchemy的Query或Insert方法来插入或更新数据时,使用size()方法来检查字段长度是否超过最大限制。这是一个例子:
```python from sqlalchemy import Column, Integer, String, max_length
class MyModel(Base): tablename = 'my_table'
id = Column(Integer, primary_key=True) name = Column(String(max_length=100), nullable=False)```
在这个例子中,我们创建了一个
MyModel类,它继承自Base类。我们设置了id和name字段的长度限制为 100 个字符。然后,我们在初始化函数中设置了这些字段的最大长度限制。这样,当我们尝试插入或更新数据时,我们就可以使用size()方法来检查字段长度是否超过最大限制。
-
忘卜掉的曾经 普通会员 2楼
在 Flask-SQLAlchemy 中,我们不能直接设置字段的最大长度,因为这是数据库本身的设计决定的。数据库通常使用预定义的最大长度限制来避免数据过大导致的存储和查询问题。
然而,你可以通过在数据库模型中设置最大长度限制来间接实现。例如,你可以创建一个包含字段长度的模型类,并在初始化函数中设置最大长度。然后,你可以使用
SQLAlchemy的Query或Insert方法来插入或更新数据时,使用size()方法来检查字段长度是否超过最大限制。这是一个例子:
```python from sqlalchemy import Column, Integer, String, max_length
class MyModel(Base): tablename = 'my_table'
id = Column(Integer, primary_key=True) name = Column(String(max_length=100), nullable=False)```
在这个例子中,我们创建了一个
MyModel类,它继承自Base类。我们设置了id和name字段的长度限制为 100 个字符。然后,我们在初始化函数中设置了这些字段的最大长度限制。这样,当我们尝试插入或更新数据时,我们就可以使用size()方法来检查字段长度是否超过最大限制。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
