2016-11-20 19 views
-1

これらの2つのテーブルの設定に問題があります。私は第二のテーブルに関連し、次のエラーメッセージが表示されますSQLテーブルにエラーメッセージが表示される

1064 - あなたのSQL構文でエラーが発生しています。 「 たとえばテキストCOMMENT 『レコードをcliCommandするために参照するの近くに』 COMMENT」FOREIGN KEYを使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してくださいライン4

CREATE TABLE cliCommand 
(
    cliCommandId INT(11) PRIMARY KEY NOT NULL COMMENT 'Auto_Increment primary key used for interal purposes' AUTO_INCREMENT, 
    code ENUM('CI', 'LX', 'MO', 'SQ', 'UX', 'WI') NOT NULL COMMENT 'Command unique code shared with users to enable search using this code.', 
    os ENUM('CiscoIOS', 'Linux', 'macOS', 'SQL', 'Unix', 'Windows') NOT NULL COMMENT 'Operating Systems this command works with', 
    title TEXT NOT NULL COMMENT 'command short description/title to be displayed in search result listing along with command code and os', 
    tag TEXT COMMENT 'any other meta data associated with command' 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Keeps all cli commands with meta data & description'; 


CREATE TABLE commandExample 
(
    commandExampleId INT(11) PRIMARY KEY NOT NULL COMMENT 'Autoincrement key for internal purposes' AUTO_INCREMENT, 
    `_cliCommandId` INT(11) REFERENCES cliCommand(cliCommandId) COMMENT 'FOREIGN KEY referencing to cliCommand record', 
    example TEXT COMMENT 'an example associated with this command, there could be multiple examples associated with a command, each as a new record in this table' 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Keeps examples, if any, for a command to be displayed'; 

答えて

0

で明示的constraint定義を使用してください。私は、MySQLがインラインで外部キー参照をサポートしていることとは思わない:

CREATE TABLE commandExample 
(
    commandExampleId INT(11) PRIMARY KEY NOT NULL COMMENT 'Autoincrement key for internal purposes' AUTO_INCREMENT, 
    `_cliCommandId` INT(11) COMMENT 'FOREIGN KEY referencing to cliCommand record', 
    example TEXT COMMENT 'an example associated with this command, there could be multiple examples associated with a command, each as a new record in this table', 
    constraint fk_clicommand_clicommand foreign key (_cliCommandId) REFERENCES cliCommand(cliCommandId) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Keeps examples, if any, for a command to be displayed'; 

Hereは、SQLフィドルの例です。

関連する問題