2016-04-04 16 views
0

Ich bin neu zu aktiven Android und ich habe CRUD-Operation, aber ich bin nicht in der Lage, automatische Inkrement für den Primärschlüssel festlegen. Ich habe bereits versucht Code unten, aber es ist von mir nicht zu verwenden:Wie Auto-Inkrement-Wert auf den Primärschlüssel in ActiveAndroid

@Table(name = "Employee", id = "EmpId") 

public class Employee extends Model { 
    @Column(name = "empid") 
    public long empid; 
    @Column(name="name") 
    public String name; 
} 

Hier employee mein Tabellenname ist. Ich habe primäre 2 Felder, eins ist empid und name. Ich muss Auto-Inkrement-Wert für den Primärschlüssel festlegen. Wie kann ich das tun?

Antwort

0

ein Update mit einer eindeutigen Spalte als Pseudo-Primärschlüssel zu tun, würde die Anmerkung wie folgt aussehen:

@Column(name = "empid", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE) 
     public long empid; 

Wie wir in einem documentation lesen:

Eine wichtige Sache Beachten Sie, dass ActiveAndroid ein ID-Feld für Ihre Tabellen erstellt. Dieses Feld ist ein automatisch inkrementierender Primärschlüssel.

Außerdem, wenn Sie benutzerdefinierte Primärschlüssel in ihr Modell erstellen möchten, können Sie Lösung in GitHub issue connected with ActiveAndroid erwähnt überprüfen, die wie folgt aussieht:

@Table(name = "Employee", id = "EmpId") 

public class Employee extends Model { 
    @Column(name = "id") 
    public long id; 
    @Column(name="name") 
    public String name; 
} 

Dann ist id-Feld benutzerdefinierte Primärschlüssel, welches automatisch inkrementiert wird.

Verwandte Themen