ID로 자동 증가하는 ID로 데이터베이스에 테이블을 만들려고하지만 AUTOINCREMENT 키워드를 쿼리에 추가하려고 할 때마다 :AUTOINCREMENT는 INTEGER PRIMARY KEY에서만 허용됩니다. - 안드로이드
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_TASKS + " ("
+ KEY_ID + "INTEGER PRIMARY KEY AUTOINCREMENT, "
+ KEY_NOTETITLE + " TEXT, " + KEY_NOTECONTENT + " Text, "
+ KEY_STATUS + " INTEGER)";
db.execSQL(sql);
}
나는 또한 AUTO_INCREMENT B를 쓰기 위해 노력했다 :
AUTOINCREMENT 만 여기에 INTEGER PRIMARY KEY
에 허용하는 것은 내 쿼리입니다 그런 다음 구문 오류가있어.
나는 AUTOINCREMENT 단어를 제거하려고 할 때마다 정상적으로 작동하기 때문에 문제의 원인임을 알게되었습니다.
그래서 ... 문제는 무엇이라고 생각하십니까? 이 INTEGER 전에 일부 공간을 넣어 같은 테이블 만들기
자동 증가 없음 sqlite는 삭제 된 ID를 재사용 할 수 있습니다. –
@loshadvtapkah PRIMARY KEY는 마지막 행 id보다 큰 사용되지 않는 정수를 사용합니다. source : https://www.sqlite.org/autoinc.html –
@RameshKumar 예, 그렇다고해서 다시 ID를 사용하지 않는다는 의미는 아닙니다. 상위 ID를 사용하여 여러 레코드를 제거하면 재사용됩니다. 대부분의 경우 문제가되지 않지만 응용 프로그램이 외래 키 검사를 추적하는 경우에도 다른 버그로 인해 하나의 버그가 발생하지 않도록 키를 다시 사용하지 않는 것이 좋습니다. –