내가 내 DB에 새 테이블을 추가했습니다 :SQLite는 id 필드 - 자동 완성
[myDatabase inTransaction:^(FMDatabase *db, BOOL *rollback) {
[db executeUpdate:@"INSERT INTO myTable VALUES(?,?,?)",
// @(myData.myId), //I don't want to insert it manually
@(aNumber),
myData.anUniqueTextId,
myData.aText];
if (db.lastErrorCode) {
NSLog(@"Huston, we've got a problem: %@", db.lastError.localizedDescription);
}
}];
:
CREATE TABLE myTable (
myId ID NOT NULL,
aNumber INTEGER NOT NULL,
anUniqueTextId TEXT NOT NULL,
aText TEXT,
PRIMARY KEY(myId, anUniqueTextId) ON CONFLICT IGNORE,
FOREIGN KEY(anUniqueTextId, aNumber) REFERENCES otherTable(otherTableId, otherTableValue2) ON DELETE CASCADE
);
가 지금은 수동으로하는 인덱스를 찾는없이 값을 삽입 할해야 내가 myId
필드에 넣어
년 OFC, 나는 여기에 오류 텔링을 얻을 :
table myTable has 4 columns but 3 values were supplied
이제 문제는 m에 데이터를 삽입하는 방법입니다 이 필드 자동 삽입 myId? 내 삽입 코드가 잘못되었거나 CREATE TABLE 문이 맞는지 잘 모르겠습니다.
- UPDATE - 나는 하나를 해결하기 위해 문을 만들고 업데이트되었습니다
: 여기
CREATE TABLE myTable (
myId INTEGER PRIMARY KEY DEFAULT 0 NOT NULL,
aNumber INTEGER NOT NULL,
anUniqueTextId TEXT NOT NULL,
aText TEXT,
FOREIGN KEY(anUniqueTextId, aNumber) REFERENCES otherTable(otherTableId, otherTableValue2) ON DELETE CASCADE
);
이것은 FMDB에서 작동하지 않습니다. 클래스의 어딘가에서 충돌합니다. – Hemang