Rumah  >  Soal Jawab  >  teks badan

Tidak dapat memadam atau mengemas kini baris induk

Saya pengguna baharu. Saya ingin bertanya tentang kesilapan yang saya hadapi dalam projek kerja rumah saya. Saya mencipta room_type_id 这是房间类型表中的主键。然后,room_type_id sebagai kunci asing untuk dimasukkan ke dalam meja bilik. Masalahnya ialah jika saya memasukkan salah satu ID jenis bilik sebagai RI2 dan bukannya RT2. Apabila saya cuba menukarnya dalam pertanyaan kemas kini dalam jadual bilik, ia berkata Tidak dapat mengemas kini kekangan kunci asing baris anak gagal. Walau bagaimanapun, ia menunjukkan bahawa baris induk tidak boleh dikemas kini, kekangan kunci asing dalam jadual jenis bilik gagal. Saya minta maaf tentang bahasa Inggeris saya kerana ia bukan bahasa utama saya

create table room_type (
room_type varchar(20) not null,
room_type_id varchar(10) not null,
primary key(room_type_id));
create table room (
room_no varchar(10) not null,
building_id  varchar(10) not null,
room_type_id varchar(10) not null,
room_price varchar(10) not null,
primary key(room_no),
foreign key (building_id) references
building(building_id),
foreign key (room_type_id) references
room_type(room_type_id));
insert into room_type
values ('Standard Room', 'RT1'),
('Dulexe Room', 'RI2'),
('Super Dulexe Room', 'RT3'),
('Suite Room', 'RT4'),
('Super Suite Room', 'RT5'),
('Executive Suite Room', 'RT6'),
('Presidential Suite Room', 'RT7'),
('Family Room', 'RT8'),
('VIP Room', 'RT9'),
('Ceremony Hall 1', 'RT10'),
('Ceremony Hall 2', 'RT11'),
('Ceremony Hall 3', 'RT12'),
('Meeting Conference Room 1', 'RT13'),
('Meeting Conference Hall 1', 'RT14'),
('Meeting COnference Hall 2', 'RT15');
insert into room
values ('R101', 'B1', 'RT1', '0'),
('R102', 'B1', 'RT1', '0'),
('R103', 'B1', 'RT1', '0'),
('R107', 'B1', 'RI2',  '0'),
('R108', 'B1', 'RI2', '0'),
('R1011','B1', 'RT3', '0'),
('R1012','B1', 'RT3',  '0'),
('R1013','B1', 'RT3', '0'),
('R1014','B1', 'RT3','0'),
('R501', 'B5', 'RT4',  '0'),
('R502', 'B5', 'RT4',  '0'),
('R505', 'B5', 'RT5',  '0'),
('R506', 'B5', 'RT5',  '0'),
('R601', 'B6', 'RT4',  '0'),
('R602', 'B6', 'RT4',  '0'),
('R605', 'B6', 'RT5',  '0'),
('R606', 'B6', 'RT5', '0'),
('R701', 'B7', 'RT6', '0'),
('R702', 'B7', 'RT6', '0'),
('R801', 'B8', 'RT7',  '0'),
('R802', 'B8', 'RT7',  '0'),
('R901', 'B9', 'RT8',  '0'),
('R902', 'B9', 'RT8',  '0'),
('R1001','B10','RT9',  '0'),
('R1002','B10','RT9',  '0'),
('R1101','B11','RT10',  '0'),
('R1102','B11','RT11',  '0'),
('R1103','B11','RT12',  '0'),
('R1201','B12','RT13',  '0'),
('R1202','B12','RT14',  '0'),
('R1203','B12','RT15',  '0');
Update room
set room_type_id='RT2'
where room_no='R107';
Update room
set room_type_id='RT2'
where room_no='R108', building_id='B1';
Update room_type
set room_type_id = 'RT2'
where room_type='Dulexe Room'; 

P粉696891871P粉696891871236 hari yang lalu423

membalas semua(1)saya akan balas

  • P粉037215587

    P粉0372155872024-02-26 16:08:09

    Kekangan kunci asing gagal kerana dalam talian room_type 表中没有包含 room_type_id='RT2' anda

    Selain itu, jika room 中的行具有特定的 room_type_id,则无法在 room_type baris ditukar dalam jadual. Untuk melakukan ini, anda boleh melakukan langkah berikut:

    1. Barisan baharu dalam room_type 中添加包含正确 room_type_id
    2. Kemas kini room 中有问题的行以获取新的 room_type_id
    3. Dari room_type 中删除 room_type_id salah baris

    balas
    0
  • Batalbalas