1

テーブルには、複合主キーである別のテーブル列を参照する 1 つの列があります。そのためのクエリをどのように書くことができますか? このエラーが表示されます。どうすれば解決できますか。

エラー 1050: テーブル 'recdesk.#sql-5e8_33' を作成できません (errno: 150)

SQL ステートメント:

ALTER TABLE `recdesk`.`facility`
  CHANGE COLUMN `organization_id` `organization_id` INT(11) NOT NULL DEFAULT 0,
  CHANGE COLUMN `facility_id` `facility_id` INT(11) NOT NULL DEFAULT 0, 

  ADD CONSTRAINT `fk_organization_id`
  FOREIGN KEY (`organization_id` )
  REFERENCES `recdesk`.`facility_type` (`organization_id` )
  ON DELETE RESTRICT
  ON UPDATE RESTRICT, 

  ADD CONSTRAINT `fk_facility_type_id`
  FOREIGN KEY (`facility_type_id` )
  REFERENCES `recdesk`.`facility_type` (`facility_type_id` )
  ON DELETE RESTRICT
  ON UPDATE RESTRICT

, ADD INDEX `fk_organization_id_idx` (`organization_id` ASC) 
, ADD INDEX `fk_facility_type_id_idx` (`facility_type_id` ASC)


ERROR: Error when running failback script. Details follow.

ERROR 1050: Table 'facility' already exists

SQL Statement:

CREATE TABLE `facility` (
  `organization_id` int(11) NOT NULL,
  `facility_id` int(11) NOT NULL,
  `name` varchar(50) DEFAULT NULL,
  `address_line1` varchar(50) DEFAULT NULL,
  `address_line2` varchar(50) DEFAULT NULL,
  `city` varchar(30) DEFAULT NULL,
  `state` varchar(2) DEFAULT NULL,
  `zip_code` varchar(9) DEFAULT NULL,
  `description` varchar(1000) DEFAULT NULL,
  `note` varchar(250) DEFAULT NULL,
  `capacity` smallint(6) DEFAULT NULL,
  `show_on_portal` char(1) DEFAULT NULL,
  `active_indicator` char(1) DEFAULT NULL,
  `primary_facility_indicator` char(1) DEFAULT NULL,
  `facility_type_id` int(11) DEFAULT NULL,
  `parent_facility_id` int(11) DEFAULT NULL,
  `create_date` datetime DEFAULT NULL,
  `show_schedule_on_portal` char(1) DEFAULT NULL,
  `show_usage_on_portal` char(1) DEFAULT NULL,
  `enable_online_reservation` char(1) DEFAULT NULL,
  `gl_code_id` int(11) DEFAULT NULL,
  `gl_code_deposit_id` int(11) DEFAULT NULL,

  PRIMARY KEY (`organization_id`,`facility_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1
4

2 に答える 2

0

エラーは

ERROR 1050: Table 'facility' already exists

作成スクリプトを実行する前に、テーブルを削除する必要があります。

于 2013-06-24T10:50:48.243 に答える