外部キー参照を含むテーブルを作成しています。必要な構文について疑問に思っています。ほとんどの場合、次のものを見てきました( 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で作業しています。