오케이 이것은 업데이트입니다. MySQL Workbench를 사용하고 있습니다. 내가 엔지니어를 포워드하는 동안 내가 들어오는 것입니다. 중도에서 포워드 엔지니어링 후 결과를 볼 수 있습니다.엔지니어에게 전달할 수없는 이유는 무엇입니까?
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';
USE `mh23202` ;
-- -----------------------------------------------------
-- Table `mh23202`.`Patient`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Patient` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Patient` (
`Patient Number` INT NOT NULL,
`First Name` TEXT NULL,
`Last Name` TEXT NULL,
`Date of Birth` DATE NULL,
`Phone Number` INT NULL,
`Email` TEXT NULL,
`Gender` TEXT NULL,
`Race` TEXT NULL,
`Address` TEXT NULL,
`Reason for Visit` TEXT NULL,
`Primary Doctor` TEXT NULL,
PRIMARY KEY (`Patient Number`),
CONSTRAINT `Visit Number`
FOREIGN KEY (`Patient Number`)
REFERENCES `mh23202`.`Visits` (`Visit Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Physician Number`
FOREIGN KEY (`Patient Number`)
REFERENCES `mh23202`.`Physician` (`Physician Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`Visits`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Visits` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Visits` (
`Visit Number` INT NOT NULL,
`Date of Visit` DATE NULL,
`Time of Visit` TIME NULL,
`Reason for Visit` TEXT NULL,
PRIMARY KEY (`Visit Number`),
CONSTRAINT `Patient Number`
FOREIGN KEY (`Visit Number`)
REFERENCES `mh23202`.`Patient` (`Patient Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Physician Number`
FOREIGN KEY (`Visit Number`)
REFERENCES `mh23202`.`Physician` (`Physician Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`Physician`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Physician` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Physician` (
`Physician Number` INT NOT NULL,
`Specialty` TEXT NULL,
`First name` TEXT NULL,
`Last Name` TEXT NULL,
`Date of Birth` DATE NULL,
`Phone Number` INT NULL,
`Email` TEXT NULL,
`Gender` TEXT NULL,
`Race` TEXT NULL,
`Address` TEXT NULL,
PRIMARY KEY (`Physician Number`),
CONSTRAINT `Visit Number`
FOREIGN KEY (`Physician Number`)
REFERENCES `mh23202`.`Visits` (`Visit Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`Medication`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Medication` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Medication` (
`Prescription Number` INT NOT NULL,
`Prescription Name` TEXT NULL,
`Units per Day` TEXT NULL,
`Start Date` DATE NULL,
`Finish Date` DATE NULL,
PRIMARY KEY (`Prescription Number`),
CONSTRAINT `Patient Number`
FOREIGN KEY (`Prescription Number`)
REFERENCES `mh23202`.`Patient` (`Patient Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Physician Number`
FOREIGN KEY (`Prescription Number`)
REFERENCES `mh23202`.`Physician` (`Physician Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`MedicalRecord`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`MedicalRecord` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`MedicalRecord` (
`Physician Number` INT NULL,
`Date of Visit` DATE NULL,
`Time of Visit` TIME NULL,
`Reason for Visit` TEXT NULL,
`Findings` TEXT NULL,
`Notes` TEXT NULL,
`Treatment` TEXT NULL,
`Prescriptions` TEXT NULL,
`Procedures` TEXT NULL,
INDEX `Patient Number_idx` (`Physician Number` ASC),
CONSTRAINT `Patient Number`
FOREIGN KEY (`Physician Number`)
REFERENCES `mh23202`.`Patient` (`Patient Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`Nurse`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Nurse` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Nurse` (
`Nurse Number` INT NOT NULL,
`First Name` TEXT NULL,
`Last Name` TEXT NULL,
`Date of Birth` DATE NULL,
`Phone Number` INT NULL,
`Email` TEXT NULL,
`Gender` TEXT NULL,
`Race` TEXT NULL,
`Address` TEXT NULL,
PRIMARY KEY (`Nurse Number`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`Secretary`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Secretary` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Secretary` (
`Secretary Number` INT NOT NULL,
`First Name` TEXT NULL,
`Last Name` TEXT NULL,
`Date of Birth` DATE NULL,
`Phone Number` INT NULL,
`Email` TEXT NULL,
`Gender` TEXT NULL,
`Race` TEXT NULL,
`Address` TEXT NULL,
PRIMARY KEY (`Secretary Number`),
CONSTRAINT `Visit Number`
FOREIGN KEY (`Secretary Number`)
REFERENCES `mh23202`.`Visits` (`Visit Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`ChargeNurse`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`ChargeNurse` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`ChargeNurse` (
`Charge Nurse Number` INT NOT NULL,
`First Name` TEXT NULL,
`Last Name` TEXT NULL,
`Date of Birth` DATE NULL,
`Phone Number` INT NULL,
`Email` TEXT NULL,
`Gender` TEXT NULL,
`Race` TEXT NULL,
`Address` TEXT NULL,
PRIMARY KEY (`Charge Nurse Number`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mh23202`.`Shifts`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mh23202`.`Shifts` ;
CREATE TABLE IF NOT EXISTS `mh23202`.`Shifts` (
`Shift Number` INT NOT NULL,
`Date of Shift` DATE NULL,
`Time of Shift` TIME NULL,
PRIMARY KEY (`Shift Number`),
CONSTRAINT `Secertary Number`
FOREIGN KEY (`Shift Number`)
REFERENCES `mh23202`.`Secretary` (`Secretary Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Physician Number`
FOREIGN KEY (`Shift Number`)
REFERENCES `mh23202`.`Physician` (`Physician Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Nurse Number`
FOREIGN KEY (`Shift Number`)
REFERENCES `mh23202`.`Nurse` (`Nurse Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Charge Nurse Number`
FOREIGN KEY (`Shift Number`)
REFERENCES `mh23202`.`ChargeNurse` (`Charge Nurse Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS; `
이것이 결과입니다.
ERROR: Error 1005: Can't create table 'mh23202.visits' (errno: 121)
CREATE TABLE IF NOT EXISTS `mh23202`.`Visits` (
`Visit Number` INT NOT NULL,
`Date of Visit` DATE NULL,
`Time of Visit` TIME NULL,
`Reason for Visit` TEXT NULL,
PRIMARY KEY (`Visit Number`),
CONSTRAINT `Patient Number`
FOREIGN KEY (`Visit Number`)
REFERENCES `mh23202`.`Patient` (`Patient Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Physician Number`
FOREIGN KEY (`Visit Number`)
REFERENCES `mh23202`.`Physician` (`Physician Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
SQL script execution finished: statements: 7 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
Executing SQL script in server
ERROR: Error 1005: Can't create table 'mh23202.visits' (errno: 121)
CREATE TABLE IF NOT EXISTS `mh23202`.`Visits` (
`Visit Number` INT NOT NULL,
`Date of Visit` DATE NULL,
`Time of Visit` TIME NULL,
`Reason for Visit` TEXT NULL,
PRIMARY KEY (`Visit Number`),
CONSTRAINT `Patient Number`
FOREIGN KEY (`Visit Number`)
REFERENCES `mh23202`.`Patient` (`Patient Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Physician Number`
FOREIGN KEY (`Visit Number`)
REFERENCES `mh23202`.`Physician` (`Physician Number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
SQL script execution finished: statements: 7 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
이 게시물을 단순화하는 방법을 찾으십시오 ... (이동, 희망, 레드 삭스!) – Nix
나는 이것을 단순화하는 방법을 모르겠습니까? 전적으로 데이터베이스에 익숙하지 않아 엔지니어를 포워드해야합니다. 나는 모든 테이블을 배치하고 기본 및 외래 키를 만들었습니다. 나는이 구문 오류가 발생하지만 앞으로 엔지니어링을 시도 할 때마다. – SoxFan9298
FOREIGN KEY 제약 조건에서 열 이름이 누락되었습니다. – Barmar