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); ";

上記のコードを使用してCreate_Databaseクエリを実行することでAndroidデータベースにテーブルを作成していますが、自動インクリメントは整数の主キーにのみ割り当てることができるというエラーがlogcatで発生しますか?私はここで何が間違っているのですか?

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

これは私がlogcatで取得しているエラーです。

4

3 に答える 3

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 " + ")";

INTEGERPRIMARYKEYと宣言された列は自動インクリメントされます。

于 2013-02-17T16:07:20.567 に答える
-1

NOT NULL2番目のエラーを防ぐようにしてください。

また、このようにしてみてくださいINTEGER NOT NULL PRIMARY KEY AUTOINCREMENT

于 2013-02-17T15:57:56.337 に答える
-1

これを試して

INTEGER PRIMARY KEY AUTOINCREMENT NULL

わたしにはできる

于 2014-02-15T08:49:20.653 に答える