Android sqlite設(shè)置主鍵自增長(zhǎng)的方法教程
今天在APP中增加一個(gè)添加項(xiàng)目的功能,項(xiàng)目的主鍵為整數(shù),要讓它自增長(zhǎng)。
既然要自增長(zhǎng),那么在代碼里面就不用給id字段賦值。但是調(diào)試的時(shí)候發(fā)現(xiàn)不行,提示主鍵重復(fù),觀察了輸出,不賦值的話,id默認(rèn)為0,于是每次都為0,就重復(fù)了:
Source source = new Source(); source.setName(dict.getName());//id沒(méi)有賦值 SourceManager.get(this).insert(source);
ContentValues cv = new ContentValues(); System.out.println("id: " + source.getId());//輸出,id每次都是0 cv.put(COLUMN_ID, source.getId()); cv.put(COLUMN_NAME, source.getName());
id沒(méi)有賦值,為什么是0呢?那就是Java的默認(rèn)int為0了,所以,在對(duì)象層面,就算不賦值,id也默認(rèn)是0。
因此,要從數(shù)據(jù)庫(kù)操作層面來(lái)解決:
//cv.put(COLUMN_ID, source.getId()); v.put(COLUMN_NAME, source.getName());
ContentValue賦值時(shí)取消對(duì)id字段的賦值即可。
問(wèn)題解決,可以自增長(zhǎng)了。
總結(jié)
Android中,讓sqlite主鍵自增長(zhǎng)的條件如下:
1. 數(shù)據(jù)庫(kù)中,設(shè)置字段為INTEGER,Primary,Autoincrement。
2. Java代碼中,ContentValue賦值時(shí)忽略主鍵字段。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
android使用TextView實(shí)現(xiàn)跑馬燈效果
這篇文章主要為大家詳細(xì)介紹了android使用TextView實(shí)現(xiàn)跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05Android中雙擊返回鍵退出應(yīng)用實(shí)例代碼
本篇文章主要介紹了Android中雙擊返回鍵退出應(yīng)用實(shí)例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-03-03Android 中使用 AsyncTask 異步讀取網(wǎng)絡(luò)圖片
這篇文章主要介紹了Android 中使用 AsyncTask 異步讀取網(wǎng)絡(luò)圖片的相關(guān)資料,需要的朋友可以參考下2016-02-02android事件分發(fā)機(jī)制的實(shí)現(xiàn)原理
本篇文章主要介紹了android事件分發(fā)機(jī)制的實(shí)現(xiàn)原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Android開(kāi)發(fā)筆記之:一分鐘學(xué)會(huì)使用Logcat調(diào)試程序的詳解
本篇文章是對(duì)Android中Logcat調(diào)試程序的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Android 監(jiān)聽(tīng)手機(jī)GPS打開(kāi)狀態(tài)實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 監(jiān)聽(tīng)手機(jī)GPS打開(kāi)狀態(tài)實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05Android冷啟動(dòng)實(shí)現(xiàn)app秒開(kāi)的實(shí)現(xiàn)代碼
本篇文章主要介紹了Android冷啟動(dòng)實(shí)現(xiàn)app秒開(kāi)的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08