在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數據庫/ flask-sqlalchemy數據庫限制字段長度,為什么是截取的?

flask-sqlalchemy數據庫限制字段長度,為什么是截取的?

問題描述

在插入數據的時候username 我傳11位,例如12345678901,數據庫只存1234567890,默認截取了前十位,
我的String(10) 設置的是10

問題出現的環(huán)境背景及自己嘗試過哪些方法

暫時沒想到什么好的方法

相關代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

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']

你期待的結果是什么?實際看到的錯誤信息又是什么?

我期待是,插入字符串超長,需要報出異常,不能插入數據庫,求各位大佬給個解決的方案?。?!不勝感激

回答
編輯回答
臭榴蓮

這個問題并不是flask-sqlalchemy的問題,是數據庫配置的問題
mysql配置有個叫做嚴格模式,這個嚴格模式是為了檢查數據類型,數據長度是否符合等等。
你開啟了之后,長度過長的話它就會報錯,而不是截取輸入。
但是有個問題,線上的話開這個要慎重,因為你不能確定是否在其他代碼塊,傳參數的時候不合理。
所以要么就是在項目開始的時候,開發(fā)環(huán)境和生產環(huán)境都開啟嚴格模式~~

2017年3月14日 18:02