1
我遇到過android源碼中的代碼,它隱式檢查某個內容提供者的某個數字ID是否是long類型的。然而,Sqlite似乎只有「INTEGER」類型。什麼是內容提供者的「_id」列的首選類型:int還是long?
因此,應該總是使用長數據類型來處理sqlite中「INTEGER」列的值,爲了安全起見?
我遇到過android源碼中的代碼,它隱式檢查某個內容提供者的某個數字ID是否是long類型的。然而,Sqlite似乎只有「INTEGER」類型。什麼是內容提供者的「_id」列的首選類型:int還是long?
因此,應該總是使用長數據類型來處理sqlite中「INTEGER」列的值,爲了安全起見?
在SQLite中,all integer values have 64 bits。 小值更有效地存儲在數據庫文件中,但這是完全透明的。
因此,如果您的_id
列有可能超過20億個值,那麼您應該使用long
。
IOW,這取決於你放入列中的內容。如果你的是唯一將代碼放入列中的代碼,並且你始終存儲'int',則可以始終檢索'int'。 – CommonsWare