SQL:2個欄位的主鍵

Q:使用SQL敘述設計一個資料表,主鍵值由2個欄位組成

我先用Accesss嘗試著建立這樣的表格,果然GUI是一整個輕鬆,選起建好的欄位,右鍵 主索引鍵(這很容易以為是建立索引)

參考網路上旁門左道的資料,造出了一個不太對的表格
CREATE TABLE Quest2 (
QuestNo Integer
, Locate Integer
, MapVal Integer
, Show Integer
);
CREATE UNIQUE INDEX Qele ON Quest2 (QuestNo ,Locate);
欄位在Access中沒有出現鍵值的標記,所以不是弄成了鍵值,實際上這個敘述只是建立了唯一索引,使輸入資料時兩筆資料不會相同。

最後回頭找SQL說明手冊,結果根本就是馬上打死(啪)
CREATE TABLE Quest (
QuestNo Integer
, Locate Integer
, MapVal Integer
, Show Integer
, PRIMARY KEY (QuestNo,Locate)
);

參考資料:


備註:使用到MySQL時,上面有些字為保留字,要去除或是更改
CREATE TABLE Quest (
QuestNo Integer
, MapLocate Integer
, MapValue integer
, ShowOrNot integer
, PRIMARY KEY (QuestNo, MapLocate)
);

留言