2016-03-21 5 views
-2
--Items table 
CREATE TABLE IF NOT EXISTS items(
    ID int NOT NULL AUTO_INCREMENT, 
    itemID varchar(10), 
    itemName varchar(40), 
    description varchar(100), 
    unitPrice int (10), 
    CONSTRAINT Items_pk PRIMARY KEY(ID,itemID) 
)ENGINE=INNODB 



    --Stock Table 
CREATE TABLE IF NOT EXISTS stock(
    ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    availableQty int(10), 
    itemID varchar(10), 
    CONSTRAINT Items_fk FOREIGN KEY (itemID) REFERENCES items(itemID) 
    ON DELETE RESTRICT 
    ON UPDATE CASCADE 
)ENGINE=INNODB 
+0

外部キーとして宣言するためにフィールドを作成する必要があります –

+0

ステータスレポートを送信していただきありがとうございます。実際の*質問がありましたか? – spencer7593

答えて

0

外部キー制約を追加することはできません。制約注意:

CONSTRAINT Items_fk FOREIGN KEY (itemID) REFERENCES items(itemID) 

をそしてitemsのキーの点に注意してください。

CONSTRAINT Items_pk PRIMARY KEY(ID,itemID) 

itemIDitemsのキーではありません。キーを参照するには、と値の両方がである必要があります。このようなもの:

CREATE TABLE IF NOT EXISTS stock(
    ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    availableQty int(10), 
    itemID int, 
    itemItemID varchar(10), 
    CONSTRAINT Items_fk FOREIGN KEY (itemID, itemItemID) REFERENCES items(ID, itemID) 
    ON DELETE RESTRICT 
    ON UPDATE CASCADE 
)ENGINE=INNODB 

当然のことながら、より良い名前を付けたい場合があります。あなたが与えられた "アイテム"のための "ID"と呼ばれる2つのものを持っているので、それは少し現時点では直感的ではありません。

+0

ありがとう:D – Tyronne

関連する問題