2016-03-25 10 views
0

学校プロジェクト用の新聞システムを作成しようとしていますが、これはそのコードの一部です。何らかの理由で私は、「エラーコード:1215は、外部キー制約を追加することはできません」取得しています外部キーは「動作していませんか?

私はALTER TABLEのなステートメントにFKを移動しようとしている
-- MySQL Workbench Forward Engineering 

SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; 
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; 

-- ----------------------------------------------------- 
-- Schema nyheterhiof 
-- ----------------------------------------------------- 

-- ----------------------------------------------------- 
-- Schema nyheterhiof 
-- ----------------------------------------------------- 
CREATE SCHEMA IF NOT EXISTS nyheterhiof DEFAULT CHARACTER SET utf8 ; 
USE nyheterhiof ; 

-- ----------------------------------------------------- 
-- Table nyheterhiof.newspapers 
-- ----------------------------------------------------- 
CREATE TABLE IF NOT EXISTS nyheterhiof.newspapers (
    newspaper_id INT(11) NOT NULL, 
    newspaper_name VARCHAR(45) NULL, 
    newspaper_city VARCHAR(45) NULL, 
    PRIMARY KEY (newspaper_id), 
    UNIQUE INDEX newspaper_id_UNIQUE (newspaper_id ASC)) 
ENGINE = InnoDB; 


-- ----------------------------------------------------- 
-- Table nyheterhiof.newspaper_Issues 
-- ----------------------------------------------------- 
CREATE TABLE IF NOT EXISTS nyheterhiof.newspaper_issues (
    newspaper_issiue_id INT(11) NOT NULL, 
    newspaper_id VARCHAR(45) NOT NULL, 
    publication_date DATE NOT NULL, 
    comment VARCHAR(200) NULL, 
    PRIMARY KEY (newspaper_issiue_id), 
    UNIQUE INDEX newspaper_issiue_id_UNIQUE (newspaper_issiue_id ASC), 
    INDEX fk_newspaper_Issues_newspapers1_idx (newspaper_id ASC), 
    CONSTRAINT fk_newspaper_Issues_newspapers1 
    FOREIGN KEY (newspaper_id) 
    REFERENCES newspapers (newspaper_id) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB; 

は、私が「newspaper_issiues」でnewspaper_idするインデックスを追加しようとしています。

答えて

1

あなたはこれが問題である

CREATE TABLE IF NOT EXISTS nyheterhiof.newspapers (
    newspaper_id INT(11) NOT NULL, 

CREATE TABLE IF NOT EXISTS nyheterhiof.newspaper_issues (
    ... 
    newspaper_id VARCHAR(45) NOT NULL, 

を指定しました。外部キー制約の両端の列は、タイプと幅が一致する必要があります

newspaper_issues.newspaper_idINTと再定義してください。

+0

おかあさん、どうしたの?素晴らしいです、ありがとう! –

関連する問題