2013-02-17 95 views
0
public static final String Database_Name="content.db"; 
public static final int Database_Version=1; 
public static final String Table_Name="images"; 
public static final String Column1="contentid"; 
public static final String Column2="content_type"; 
public static final String Column3="content"; 
public static final String Column4="has_update"; 
public static final String Column5="server"; 
public static final String Column6="_id"; 
public static final String Create_Database = 
     "CREATE TABLE " + Table_Name + 
       " (" + Column6 + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       Column1 + " LONG, " + 
       Column2 + " TEXT NOT NULL, " + 
       Column3 + " TEXT NOT NULL, " + 
       Column4 + " INTEGER, " + 
       Column5 + " INTEGER); "; 

我正在android數據庫中創建一個表,通過使用上面的代碼並執行Create_Database查詢,但我得到一個錯誤logcat說autoincrement可以分配給只有一個整數主鍵? 我在這裏做錯了什麼?主鍵自動增量不適用於android數據庫?

02-17 21:08:27.016: E/SQLiteLog(8460): (1) AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY 

這是我在logcat.Any幫助得到錯誤.....

+0

你可以給我downvote的原因是什麼? – 2015-03-21 04:17:32

回答

5

試試這個

public static final String Create_Database = 
    "CREATE TABLE " + Table_Name + 
      " (" + Column6 + " INTEGER PRIMARY KEY, " + 
      Column1 + " LONG, " + 
      Column2 + " TEXT NOT NULL, " + 
      Column3 + " TEXT NOT NULL, " + 
      Column4 + " INTEGER, " + 
      Column5 + " INTEGER " + ")"; 

一個聲明INTEGER PRIMARY KEYautoincrement

+0

你的代碼和問題有什麼區別。我無法清楚地看到差異。你能指出嗎? – hakiko 2013-02-17 16:10:08

+0

我發現了額外的分號 – moDev 2013-02-17 16:11:07

+0

嘿你能解決一個更多的查詢後,我這樣做我得到錯誤logcat文件爲code1列內容未在表中找到爲什麼該表中沒有創建該列我是否做錯了什麼? – 2013-02-17 16:19:04

-1

嘗試NOT NULL以防止第二個錯誤。

也可以嘗試這樣INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT

+0

仍然沒有工作 – 2013-02-17 16:03:13

-1

試試這個

INTEGER PRIMARY KEY AUTOINCREMENT NULL

它爲我工作