簡體   English   中英

創建唯一的復合列的語法-Android SQLiteOpenHelper

[英]Syntax to create unique composite column - Android SQLiteOpenHelper

我在SQLiteOpenHelper類中具有此onCreate方法,並且我想在這兩列(復合唯一列)上添加唯一約束:

  • SongContract.SongEntry.COLUMN_TITLE
  • SongContract.SongEntry.COLUMN_RELEASEDATE

但我收到一個錯誤:

無法解析方法UNIQUE

這是我的代碼:

public void onCreate(SQLiteDatabase db) {
    final String SQL_CREATE_SONG_TABLE = "CREATE TABLE " + SongContract.SongEntry.TABLE_SONG + " (" +
        SongContract.SongEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        SongContract.SongEntry.COLUMN_TITLE + " TEXT NOT NULL, " +
        SongContract.SongEntry.COLUMN_RELEASEDATE + " INTEGER, " +
        UNIQUE(SongContract.SongEntry.COLUMN_TITLE, SongContract.SongEntry.COLUMN_RELEASEDATE) +
        SongContract.SongEntry.COLUMN_RATING + " TEXT);";

    db.execSQL(SQL_CREATE_SONG_TABLE);
}

什么是實現我的目標的正確語法?

我在玩sqllite之后發現了正確的語法:

final String SQL_CREATE_SONG_TABLE =“ CREATE TABLE” + SongContract.SongEntry.TABLE_SONG +“(” + SongContract.SongEntry._ID +“整數主鍵自動增加,” + SongContract.SongEntry.COLUMN_TITLE +“文本不為空,” + SongContractS。 COLUMN_RELEASEDATE +“ INTEGER NOT NULL,” + SongContract.SongEntry.COLUMN_RATING +“ TEXT,” +“ UNIQUE” +“(” + SongContract.SongEntry.COLUMN_TITLE +“,” + SongContract.SongEntry.COLUMN_RELEASEDATE +“)” +“) ;“;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM