2013-12-16 4 views
-1

Я новичок android. Как создать внешний ключ в таблице? ниже мой код, который создает таблицу, которая является игровой и атакой. Пожалуйста помоги!Как создать внешний ключ в sqlite-андроиде?

public void onCreate(SQLiteDatabase db) { 
    // Create a database table 
      String createPlayerTable = "CREATE TABLE " + TABLE_NAME 
        + " (_id INTEGER PRIMARY KEY  autoincrement," + PlayerName + " TEXT not null, " 
        + PlayerAge + " TEXT not null, "+PlayerBorn+" TEXT not null, "+PlayerWeight+" TEXT not null, "+PlayerHeight+" TEXT not null);"; 
      db.execSQL(createPlayerTable); 

      String createAttackTable = "CREATE TABLE " + TABLE_ATTACK 
        + " (_ID INTEGER PRIMARY KEY autoincrement," + playerAttack + " TEXT not null, " 
        + playerPassing + " TEXT not null);"; 
      db.execSQL(createAttackTable);    

Кроме того, можно автоинкремент начать с другого номера, такого как 1000? Я хочу сказать, что автоинкремент начинается с 1, 2, 3, 4 и т. Д. ... Я хочу, чтобы число начиналось с 1000, 10001, 1002 ... это возможно?

ответ

1

Вы можете добавить внешний ключ после определения столбца с ключевым словом FOREIGN KEY:

Например, чтобы создать внешний ключ для столбца playerPassing из table TABLE_ATTACK, который говорит, что playerPassing ссылается таблица TABLE_NAME и это column _id, вы положили что-то вроде следующего кода после

"TEXT not null" : 
+"FOREIGN KEY("+ playerPassing +") REFERENCES "+ TABLE_NAME + "(_id)" 
+0

спасибо, друг! любая идея для моего второго вопроса? – user3103876

+0

Чтобы начать автоинкремент с определенного значения, вы можете вставить первую строку с основным идентификатором, имеющим значение, из которого вы хотите начать увеличивать, например: вставить значения TABLE_NAME (_id, some_column) (1000, some_value); – gile

+0

Извините, я не могу понять, что вы имеете в виду. Можете ли вы представить пример? – user3103876

Смежные вопросы