Sql 由于约束,无法创建表

Sql 由于约束,无法创建表,sql,phpmyadmin,Sql,Phpmyadmin,我在我的项目上工作了几天,我坚持使用phpMyAdminSQL。 我在workbench ERR图中创建了如下图: 要粘贴到sql查询中的代码是: SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TR

我在我的项目上工作了几天,我坚持使用phpMyAdminSQL。 我在workbench ERR图中创建了如下图:

要粘贴到sql查询中的代码是:

    SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

DROP SCHEMA IF EXISTS `nieruchomosci` ;
CREATE SCHEMA IF NOT EXISTS `nieruchomosci` DEFAULT CHARACTER SET utf8 ;
USE `nieruchomosci` ;

-- -----------------------------------------------------
-- Table `nieruchomosci`.`wojewodztwa`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `nieruchomosci`.`wojewodztwa` ;

CREATE  TABLE IF NOT EXISTS `nieruchomosci`.`wojewodztwa` (
  `id_wojewodztwa` INT NULL AUTO_INCREMENT ,
  `nazwa` VARCHAR(145) NULL ,
  PRIMARY KEY (`id_wojewodztwa`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `nieruchomosci`.`material`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `nieruchomosci`.`material` ;

CREATE  TABLE IF NOT EXISTS `nieruchomosci`.`material` (
  `id_material` INT NULL AUTO_INCREMENT ,
  `typ` VARCHAR(45) NULL ,
  PRIMARY KEY (`id_material`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `nieruchomosci`.`szczegoly`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `nieruchomosci`.`szczegoly` ;

CREATE  TABLE IF NOT EXISTS `nieruchomosci`.`szczegoly` (
  `id_szczegoly` INT NULL ,
  `typ_nabytku` VARCHAR(45) NULL ,
  `nr_budynku` INT NULL ,
  `nr_lokalu` INT NULL ,
  `pokoje` INT NULL ,
  `powierzchnia_mieszkania` INT NULL ,
  `powierzchnia_domu` INT NULL ,
  `stan_b` INT NULL ,
  `stan_l` INT NULL ,
  `winda` VARCHAR(45) NULL ,
  `garaz` VARCHAR(45) NULL ,
  `osiedle` VARCHAR(45) NULL ,
  `telefon` VARCHAR(45) NULL ,
  `internet` VARCHAR(45) NULL ,
  `tv` VARCHAR(45) NULL ,
  `domofon` VARCHAR(45) NULL ,
  `tereny` VARCHAR(45) NULL ,
  `plac_zabaw` VARCHAR(45) NULL ,
  `sport` VARCHAR(45) NULL ,
  `kino` VARCHAR(45) NULL ,
  `basen` VARCHAR(45) NULL ,
  PRIMARY KEY (`id_szczegoly`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `nieruchomosci`.`ogloszenie`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `nieruchomosci`.`ogloszenie` ;

CREATE  TABLE IF NOT EXISTS `nieruchomosci`.`ogloszenie` (
  `id_ogloszenie` INT NULL AUTO_INCREMENT ,
  `rok` INT NULL ,
  `pietro` INT NULL ,
  `ile_pieter` INT NULL ,
  `cena` INT NULL ,
  `typ_oferty` INT NULL ,
  `id_adres` INT NULL ,
  `id_material` INT NULL ,
  PRIMARY KEY (`id_ogloszenie`) ,
  INDEX `fk_ogloszenie_material1` (`id_material` ASC) ,
  CONSTRAINT `fk_ogloszenie_material1`
    FOREIGN KEY (`id_material` )
    REFERENCES `nieruchomosci`.`material` (`id_material` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_ogloszenie_szczegoly1`
    FOREIGN KEY (`id_ogloszenie` )
    REFERENCES `nieruchomosci`.`szczegoly` (`id_szczegoly` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `nieruchomosci`.`adres`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `nieruchomosci`.`adres` ;

CREATE  TABLE IF NOT EXISTS `nieruchomosci`.`adres` (
  `id_adres` INT NULL AUTO_INCREMENT ,
  `ulica` VARCHAR(45) NULL ,
  `miasto` VARCHAR(45) NULL ,
  `powiat` VARCHAR(45) NULL ,
  `id_wojewodztwa` INT NULL ,
  PRIMARY KEY (`id_adres`) ,
  INDEX `fk_adres_wojewodztwa` (`id_wojewodztwa` ASC) ,
  CONSTRAINT `fk_adres_wojewodztwa`
    FOREIGN KEY (`id_wojewodztwa` )
    REFERENCES `nieruchomosci`.`wojewodztwa` (`id_wojewodztwa` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_adres_ogloszenie1`
    FOREIGN KEY (`id_adres` )
    REFERENCES `nieruchomosci`.`ogloszenie` (`id_adres` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Adres表示地址
Oglossenie的意思是广告
Wojewodztwa表示省
物料是指物料
Szczegoly表示细节

这个简单的项目是关于出售房屋的广告。 我的错误是

Executing SQL script in server

ERROR: Error 1005: Can't create table 'nieruchomosci.adres' (errno: 150)

我在sql中完全是黄色的,我在哪里犯了错误

我认为您在错误的位置引用了外键。 而不是在
adres

CONSTRAINT `fk_adres_ogloszenie1`
FOREIGN KEY (`id_adres` )
REFERENCES `nieruchomosci`.`ogloszenie` (`id_adres` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
您应该将其放入
ogloszenie
表的定义中

希望有帮助