Я создаю таблицу с ссылками на внешние ключи. Я задаюсь вопросом о требуемом синтаксисе. В основном я видел следующее (из http://www.sqlite.org/foreignkeys.html#fk_basics):
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER,
FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);
Однако с того же сайта (http://www.sqlite.org/foreignkeys.html#fk_actions) я вижу следующее:
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE
);
Последний синтаксис немного более краткий, но я хочу знать, как результат каким-то образом отличается (кроме ON UPDATE CASCADE
, который, конечно, имеет эффект, я включил его только потому, что скопировал код точно из и потому, что я не знаю, что приведенный выше синтаксис не применяется только при создании такой спецификации). Я работаю на Android, если это имеет значение.