關於SQLite
,REFERENCES與或沒有FOREIGN KEY有什麼區別?REFERENCES與或沒有FOREIGN KEY有什麼區別
是什麼這個
CREATE TABLE players_set (
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
player_id INTEGER REFERENCES players (_id) ON DELETE CASCADE,
players_set_id INTEGER REFERENCES players_set_names (_id)
);
,這之間的區別:
CREATE TABLE players_set (
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
player_id INTEGER,
players_set_id INTEGER REFERENCES players_set_names (_id),
FOREIGN KEY (player_id) REFERENCES players (_id) ON DELETE CASCADE
);
我發現這個其他問題: Difference between using REFERENCES with and without FOREIGN KEY?
我讀the documentation,它並沒有說清楚儘管如此。
準確地說,我在Android
(因此標籤)上使用SQLite。我不知道這是否有什麼不同,但如果它有自己的怪癖,對我來說了解一下會非常有用。
如果您曾經使用MySQL,請不要使用第一個版本:MySQL將忽略外鍵定義(即不會創建),但不會告訴您。 –
@a_horse_with_no_name或不使用mysql;) –
@NeilMcGuigan:我完全同意;) –