2017-05-28 11 views
0
CREATE TABLE TRACKING_RECORD(
    ReaderID int(11) NOT NULL, 
    EPC int(11) NOT NULL, 
    `Timestamp` timestamp NOT NULL, 
    Latitude varchar(30), 
    Longitude varchar(30), 
    PRIMARY KEY (ReaderID,EPC,`Timestamp`) 
    on UPDATE CASCADE); 

可能性がされた場合、エラーが 「UPDATE CASCADE ON」であり、それは閉じ括弧このコードは私にエラーを与え続け、

答えて

0

ON UPDATE CASCADEを要求する外国の一部です。キーの構文ではなく、プライマリキーの構文です。この文脈では意味をなさないので、削除してください:

CREATE TABLE TRACKING_RECORD (
    ReaderID int(11) NOT NULL, 
    EPC int(11) NOT NULL, 
    `Timestamp` timestamp NOT NULL, 
    Latitude varchar(30), 
    Longitude varchar(30), 
    PRIMARY KEY (ReaderID, EPC, `Timestamp`) 
); 

複合主キーを避けることをお勧めします。代わりに、単一の自動インクリメントの主キーを持っていると定義する他のuniqueとして:

CREATE TABLE TRACKING_RECORD (
    TrackingRecordId int auto_increment primary key, 
    ReaderID int(11) NOT NULL, 
    EPC int(11) NOT NULL, 
    `Timestamp` timestamp NOT NULL, 
    Latitude varchar(30), 
    Longitude varchar(30), 
    UNIQUE (ReaderID, EPC, `Timestamp`) 
); 
+0

OKああ、しかし、タイムスタンプを除いて、この表参照3他のテーブルの列。タイムスタンプは部分的なキーですが、ユニークなものと同じでしょうか?遅く返事1amのために申し訳ありません –

+0

でimどこに@ abdul_moham101。 。 。あなたの質問には、外部キーの参照がありません。他のテーブルもありません。より複雑な質問がある場合は、*別の質問をすることをお勧めします。この質問を変更すると、下線を描くことができる回答が無効になることがあります。 –

+0

今、それは意味があります。私は外来キーについて考えなかった。病気で外来キーを入れて、それがうまくいくかどうか確認してください –

関連する問題