我正在嘗試向SQLAlchemy
添加一個大整數到MySQL
表。正如answer解釋的那樣,你不能像那樣通過一個長度參數String
。所以,下面這個問題的答案我已經與mysql.INTEGER
定義我的專欄,像這樣:使用SQLAlchemy將具有長整數的對象提交到MYSQL
from sqlalchemy.dialects import mysql
uniqueid = Column(mysql.INTEGER(20))
當我嘗試提交的對象與14位UNIQUEID,不過,我得到了以下錯誤消息:DataError: (DataError) (1264, "Out of range value for column 'uniqueid' at row 1")
。當我嘗試一個不長的較短整數時,將相同的對象提交給SQL數據庫沒有問題。我正在運行python 2.7,long
類型的其他discussions表明它不應該與int
有任何不同,除了在數字的末尾打印L
。最後一條信息是,如果我將uniqueid設置爲相同的短號碼,但使其長一些,如uniqueid = long(32423)
,我仍然可以將該對象提交給SQL數據庫。