Witam, zaprojektowałem sobie bazę danych w MySQL Workbench i teraz chciałem ją normalnie wrzucić na serwer MySQL. Oczywiście chciałem pójść na łatwiznę i zamiast pisać sobie samemu wszystkie te polecenia SQL, postanowiłem wyeksportować mój projekt do zapytania, żeby je potem wkleić od razu na serwerze. Problem polega na tym, że jedna z tabel - “Parcels” w ogóle nie chce się utworzyć wyrzucając mi errno: 150
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';
CREATE SCHEMA IF NOT EXISTS `schoolProject` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
USE `schoolProject` ;
-- -----------------------------------------------------
-- Table `schoolProject`.`Couriers`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `schoolProject`.`Couriers` (
`courier_id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(45) NOT NULL ,
`surname` VARCHAR(45) NOT NULL ,
`login` VARCHAR(45) NOT NULL ,
`password` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`courier_id`) ,
UNIQUE INDEX `login_UNIQUE` (`login` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `schoolProject`.`Customers`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `schoolProject`.`Customers` (
`customer_id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(45) NOT NULL ,
`surname` VARCHAR(45) NOT NULL ,
`city` VARCHAR(45) NOT NULL ,
`street` VARCHAR(45) NOT NULL ,
`postal_code` VARCHAR(5) NOT NULL ,
`building_num` INT NOT NULL ,
`apartment_num` VARCHAR(45) NULL ,
PRIMARY KEY (`customer_id`) ,
CONSTRAINT `fk_Customers_Packages1`
FOREIGN KEY (`customer_id` )
REFERENCES `schoolProject`.`Parcels` (`recipient_customer_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `schoolProject`.`ParcelType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `schoolProject`.`ParcelType` (
`parceltype_id` INT NOT NULL AUTO_INCREMENT ,
`type` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`parceltype_id`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `schoolProject`.`Parcels`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `schoolProject`.`Parcels` (
`package_id` INT NOT NULL AUTO_INCREMENT ,
`weight` FLOAT(5,2) NOT NULL ,
`sent_on` DATE NOT NULL ,
`delivered` TINYINT(1) NOT NULL DEFAULT 0 ,
`recipient_customer_id` INT NOT NULL ,
`sender_customer_id` INT NOT NULL ,
`assigned_to` INT NULL ,
`price` FLOAT(6,2) NOT NULL DEFAULT 0 ,
`parceltype_id` INT NOT NULL ,
PRIMARY KEY (`package_id`) ,
INDEX `fk_Packages_Couriers1` (`assigned_to` ASC) ,
INDEX `fk_Packages_Customers1` (`sender_customer_id` ASC) ,
INDEX `fk_Parcels_ParcelType1` (`parceltype_id` ASC) ,
CONSTRAINT `fk_Packages_Couriers1`
FOREIGN KEY (`assigned_to` )
REFERENCES `schoolProject`.`Couriers` (`courier_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Packages_Customers1`
FOREIGN KEY (`sender_customer_id` )
REFERENCES `schoolProject`.`Customers` (`customer_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Parcels_ParcelType1`
FOREIGN KEY (`parceltype_id` )
REFERENCES `schoolProject`.`ParcelType` (`parceltype_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `schoolProject`.`Logins`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `schoolProject`.`Logins` (
`logins_id` INT NOT NULL AUTO_INCREMENT ,
`courier_id` INT NOT NULL ,
`logged_on` DATETIME NOT NULL ,
PRIMARY KEY (`logins_id`) ,
INDEX `fk_Logins_Couriers` (`courier_id` ASC) ,
CONSTRAINT `fk_Logins_Couriers`
FOREIGN KEY (`courier_id` )
REFERENCES `schoolProject`.`Couriers` (`courier_id` )
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;
co więc z tym Parcels może być nie tak?