2016-03-29 6 views
0

このhttps://dev.mysql.com/doc/refman/5.5/en/create-table.htmlが表示されていますが、この文書の読み方を理解できません。CREATE TABLE内の列に複数の制約を追加することはできますか?

私はCREATE TABLE child_table(id VARCHAR(55) PRIMARY KEY AND FOREIGN KEY REFERENCES parent_table.id)

のようなものを作りたいしかし、私はこれが可能であるかはわかりません。

ありがとうございます!

答えて

1

可能です。フィールドに制約をリストするか、複数のテーブルレベル制約の宣言を追加するだけです。

あなたCREATE TABLEはこのようなものを見なければならないだろうので、あなたは、MySQLでの外部キーのインラインを宣言することはできません。

CREATE TABLE child_table 
(
    id VARCHAR(55) PRIMARY KEY, 
    FOREIGN KEY (id) REFERENCES parent_table(id) 
); 

または

CREATE TABLE child_table 
(
    id VARCHAR(55), 
    PRIMARY KEY (id), 
    FOREIGN KEY (id) REFERENCES parent_table(id) 
); 
+0

は1でそれを行うことはできませんライン?しかたがない。 –

+1

あなたは、例えば、 'AUTO_INCREMENT PRIMARY KEY'または' NOT NULL DEFAULT 10'を行うことができます。 'FOREIGN KEY'や' CHECK'を1行で実行することはできません。 –

関連する問題