2013-11-04 34 views
1

我現在收到一個警告,傳遞參數爲BigInteger已被棄用。但是,我不確定是否有其他方式將該值聲明爲無符號。我存儲了MySQL的uuid_short()函數的結果,該函數是一個無符號的64位整數,如果該列未聲明爲UNSIGNED,則可能會導致溢出。SQLAlchemy - 創建未簽名的BigInteger的正確方法

現在處理這個問題的正確方法是什麼?

回答

5

我對SQLAlchemy並不熟悉。無論如何,我記得你可以設置一個無符號整數方式如下:

from sqlalchemy.dialects.mysql import INTEGER 
Column(INTEGER(unsigned=True)) 

或只是

from sqlalchemy.dialects.mysql import INTEGER as Integer 
Column(Integer(unsigned=True)) 

這同樣適用於BIGINT。

+0

你應該強調的是某種方式,您取得的各類'dialects.mysql' ......我沒有看到,在第一。 –

+0

很明顯,我正在從'sqlalchemy.dialects.mysql'中導入'INTEGER',不知道它如何更清晰。無論如何,它是否與你一起工作?如果是這樣,請不要忘記接受答案。 – moenad

+1

對不起,我只是看着'Integer(unsigned = True)',並認爲你已經在做同樣的事情了。 –