1

テーブルの作成に問題があります。

問題は、別のテーブルへの外部キー/リレーションの作成にあります。

インターネットから、列のタイプを確認し、参照している列と同じかどうかを確認するように言われました。そして同じです。

インターネットが私にくれた他の解決策はうまくいきませんでした。

これはクエリです:

CREATE  TABLE IF NOT EXISTS `finprodb`.`tblproject` (
  `prj_id` INT(11) NOT NULL AUTO_INCREMENT ,
  `prj_nummer` VARCHAR(45) NOT NULL ,
  `prj_omschrijving` TEXT NULL DEFAULT NULL ,
  `prj_verkoop_waarde` DECIMAL(20,4) NULL DEFAULT NULL ,
  `prj_gereed` TINYINT(4) NULL DEFAULT NULL ,
  `prj_bedr_id` INT(11) NOT NULL ,
  PRIMARY KEY (`prj_id`) ,
  UNIQUE INDEX `prj_id_UNIQUE` (`prj_id` ASC) ,
  INDEX `fk_tblproject_tblbedrijf1_idx` (`prj_bedr_id` ASC) ,
  CONSTRAINT `fk_tblproject_tblbedrijf1`
    FOREIGN KEY (`prj_bedr_id` )
    REFERENCES `finprodb`.`tblbedrijf` (`bedr_id` )
    ON DELETE SET NULL
    ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
4

2 に答える 2

1

ON DELETE SET NULLとうまくいかないprj_bedr_id INT(11) NOT NULL

列をヌル可能にします (を削除しますNOT)

于 2013-03-07T09:15:31.753 に答える
0

MYSQLについてはよくわかりませんが、DB2では、親テーブルで参照されている列に一意のインデックスがない限り、リレーションシップを作成できません。に一意のインデックスがありますかfinprodbtblbedrijfbedr_id)?

于 2013-03-07T09:18:25.983 に答える