Was die Ursache für Foreign Key-Mismatch " Fehler?

Ich habe eine sqlite-Datenbank, die wie folgt strukturiert:

CREATE TABLE IF NOT EXISTS Patient 
( PatientId INTEGER PRIMARY KEY AUTOINCREMENT );

CREATE TABLE IF NOT EXISTS Event 
( 
PatientId INTEGER REFERENCES Patient( PatientId ),
DateTime TEXT,
EventTypeCode TEXT,
PRIMARY KEY( PatientId, DateTime, EventTypeCode )
);

CREATE TABLE IF NOT EXISTS Reading 
( 
PatientId INTEGER REFERENCES Patient( PatientId ),
DateTime TEXT REFERENCES Event (DateTime),
EventTypeCode TEXT REFERENCES Event (EventTypeCode),
Value REAL,
PRIMARY KEY( PatientId, DateTime, EventTypeCode )
);

Füge ich einen Patienten mit der Id #1

dann habe ich ausgeführt:

INSERT INTO Event (PatientId, DateTime, EventTypeCode) VALUES (1, '2011-01-23 19:26:59', 'R')

welche Werke

dann habe ich ausgeführt:

INSERT INTO Reading (PatientId, DateTime, EventTypeCode, Value) VALUES (1, '2011-01-23 19:26:59', 'R', 7.9)

und es gibt mir ein Fremdschlüssel stimmt nicht überein. Patienten-Id '1' in allen Fällen, und die datetime-und typecodes match in der 2. und 3. Abfragen. Ich verstehe nicht, was ist, nicht übereinstimmende, aber ich bin ein bisschen neu, um tatsächlich die Definition von Fremdschlüsseln und ich weiß nicht, was ich falsch mache.

Können Sie zitieren die Nachricht in der vollständigen, bitte?
"Fehler : foreign key-mismatch" haha.. nicht zu viel macht. Ich hatte gehofft, für etwas ein wenig genauer, auch.

InformationsquelleAutor Damon | 2011-03-06

Schreibe einen Kommentar