Невозможно создать таблицу `mailorder`. O_details` (ошибка: 150« Ограничение внешнего ключа сформировано неправильно ») - PullRequest
1 голос
/ 25 марта 2020

Я уже создал таблицу деталей и установил первичный ключ как P_NO.

CREATE table o_details (
    O_NO int NOT null AUTO_INCREMENT PRIMARY KEY,
    P_NO int,
    QUANTIITY int,
    CONSTRAINT FK_PersonOrder 
    FOREIGN KEY (P_NO) REFERENCES parts(P_NO)

);

таблица деталей

Create Table parts( P_NO int not null AUTO_INCREMENT primary key, P_NAME varchar(255), QOH varchar(255), Price int, OLevel varchar(255) );

Ответы [ 2 ]

0 голосов
/ 25 марта 2020
CREATE SCHEMA `mailorder` ;

    CREATE TABLE `mailorder`.`parts` (
      `P_NO` INT NOT NULL AUTO_INCREMENT,
      `P_NAME` VARCHAR(255) NULL,
      `QOH` VARCHAR(255) NULL,
      `Price` INT NULL,
      `OLevel` VARCHAR(255) NULL,
      PRIMARY KEY (`P_NO`));

    CREATE TABLE `mailorder`.`o_details` (
      `O_NO` INT NOT NULL AUTO_INCREMENT,
      `P_NO` INT NULL,
      `QUANTITY` INT NULL,
      PRIMARY KEY (`O_NO`));


    ALTER TABLE `mailorder`.`o_details` 
    ADD INDEX `FK_PersonOrder_idx` (`P_NO` ASC) VISIBLE;
    ;
    ALTER TABLE `mailorder`.`o_details` 
    ADD CONSTRAINT `FK_PersonOrder`
      FOREIGN KEY (`P_NO`)
      REFERENCES `mailorder`.`parts` (`P_NO`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION;
0 голосов
/ 25 марта 2020

Попробуйте это

CREATE table o_details ( O_NO int NOT null  PRIMARY KEY IDENTITY(1, 1), 


P_NO int, QUANTIITY int, CONSTRAINT FK_PersonOrder FOREIGN KEY (P_No) REFERENCES parts(P_No)

);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...