Как вставить значения в многозначный атрибут в SQL с атрибутом первичного ключа в таблице? - PullRequest
0 голосов
/ 16 мая 2018

Я создал 2 таблицы следующим образом

create table Room(
    roomID varchar(5),
    roomName varchar(20),
    price float,
    size varchar(10),
    beds varchar(15),
    numOfRooms int,
    numOfGuests int,
    constraint pk_room primary key(roomID)
);

create table Additional_room_info(
    roomId varchar(5),
    features varchar(20),
    constraint fk_room_add_ftrs foreign key(roomID) references Room(roomID)
);

И я хочу сделать roomId in Additional_room_info первичным ключом таблицы. Я знаю, что это невозможно в этой ситуации, потому что один и тот же roomId многократно добавляется в таблицу несколько раз. Есть ли другой способ сделать первичный ключ без включения атрибута features ?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Добавьте id к Additional_room_info как первичный ключ с автоинкрементом , так что вам не нужно об этом беспокоиться.

create table Additional_room_info(
    id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    roomId varchar(5),
    features varchar(20),
    constraint fk_room_add_ftrs foreign key(roomID) references Room(roomID)
);
0 голосов
/ 16 мая 2018
create table Additional_room_info(
    roomInfoId BIGINT AUTO_INCREMENT PRIMARY KEY,
    roomId varchar(5),
    features varchar(20),
    constraint fk_room_add_ftrs foreign key(roomID) references Room(roomID)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...