3

MySQL Workbench で EER ダイアグラムを使用して 8 つのテーブルを作成しました。ここで、プログラムが推奨する SQL を使用してテーブルを作成します。それらのほとんどで機能しますが、外部キーを含むものでは機能しません。これを解決する方法を知っている人はいますか?推奨されるコードとエラー メッセージを次に示します。

SQL ステートメント:

CREATE TABLE IF NOT EXISTS `webprogrammering`.`Deltagelse` (
  `deltagelseNr` INT NOT NULL AUTO_INCREMENT ,
  `deltagerNr` INT NOT NULL ,
  `Arrid` INT NOT NULL ,
  PRIMARY KEY (`deltagelseNr`) ,
  INDEX `deltagerNr` () ,
  INDEX `Arrid` () ,
  CONSTRAINT `deltagerNr`
    FOREIGN KEY ()
    REFERENCES `webprogrammering`.`deltagere` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `Arrid`
    FOREIGN KEY ()
    REFERENCES `webprogrammering`.`arrangement` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

エラー メッセージ ログ:

エラー 1064: SQL 構文にエラーがあります。Arrid使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してくださいdeltagerNr

4

1 に答える 1

0
    CREATE TABLE IF NOT EXISTS `webprogrammering`.`Deltagelse` (
  `deltagelseNr` INT NOT NULL AUTO_INCREMENT ,
  `deltagerNr` INT NOT NULL ,
  `Arrid` INT NOT NULL ,
  PRIMARY KEY (`deltagelseNr`) ,
  INDEX `deltagerNrIdx` (deltagerNr) ,
  INDEX `ArridIdx` (Arrid) ,
  CONSTRAINT `deltagerNr_fk`
    FOREIGN KEY (deltagerNr)
    REFERENCES `webprogrammering`.`deltagere` (referenceField)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `Arrid_fk`
    FOREIGN KEY (Arrid)
    REFERENCES `webprogrammering`.`arrangement` (referenceField2)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

フィールド名 referenceField、referenceField2 を正しい名前に変更します。

于 2012-05-05T17:31:11.807 に答える