web-sql-Datenbank Unterstützung für Fremdschlüssel
Teste ich diese Aussage in Safari 5.0.5, aber ich bekomme eine Fehlermeldung, bevor die FREMDEN:
CREATE TABLE IF NOT EXISTS Idea (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
content TEXT NOT NULL,
created TIMESTAMP NOT NULL,
sketchID INTEGER,
categoryID INTEGER NOT NULL,
FOREIGN KEY (sketchID) REFERENCES (Sketch),
FOREIGN KEY (categoryID) REFERENCES (Category));
Bekomme ich die folgende Fehlermeldung:
SQLStatementError 1 [DATABASE] near "(": syntax error
Wo ist der Fehler in diesem SQL statement?
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Hinzufügen mein Kommentar als Antwort)
Als Neil wies darauf hin, schließen Sie die Halterung an der falschen position.
Zusätzlich die syntax für die foreign key falsch ist, sollte Folgendes funktionieren (vorausgesetzt, die HTML5 SQL-Dialekt ist standard-konform)
halten Sie daran, dass selbst mit der richtigen syntax, foreign-key-Funktion ist nicht aktiviert und konnte nicht in der web-Datenbank. da die foreign key-feature ist standardmäßig deaktiviert in sqlite3, müssen Sie manuell aktivieren Sie es über die Anweisung "PRAGMA foreign_keys = ON". Leider PRAGMA-Anweisung deaktiviert, wird der web-Datenbank.
viel Glück!
Müssen Sie ersetzen die
)
mit einem,
nachcategoryID INTEGER NOT NULL)
so Ihre Aussage geworden:Hinweis: die zusätzliche Halterung am Ende der Anweisung.
REFERENCES Category (categoryID)
- zumindest in standard-SQL.REFERENCES
Klauseln, und es funktioniert!! Danke. Jetzt brauche ich eine Antwort um zu überprüfen, es als Lösung!