这是我第一次来这里,不知道具体是怎么回事。)我在学校有一个数据库项目,我们在中使用SQL,带有oracle 11g。我选择为音乐节做一个DB,我对它有一些问题。我在填充表格时遇到了麻烦,我认为这主要是设计上的错误。
我有一个餐桌音乐节,我想用它作为主桌,每一张桌子都折叠成另一张。我不明白的是我是如何为一对多的关系填充表格的。从音乐节的桌子上,我有一个一对多的关系,与公共桌子,其中包含每个音乐会观众的信息。我将TICKET_ID作为主键公开,这样我就可以在MUSIC_FESTIVAL中使用它作为外键,但是当我将条目插入到表中时,我就被卡住了。
在这里,这是ERD使它更容易理解:

这就是它在中的样子:
这是我得到的错误:将一个错误保存到表“ROBERT”中。“PUBLIC”:第1行: ORA-02291:完整性约束(ROBERT.PUBLIC_MUSIC_FESTIVAL)违反-父键未找到ORA-06512:在第1行。
而且,由于这些错误,我发现很难填充这些表。solve不允许我在一个表上输入数据,然后转到另一个表来解决错误。
请帮帮忙,我真的需要一些。
祝您今天愉快!
发布于 2019-01-09 02:23:21
作为一般的经验法则,您需要按顺序插入数据。也就是说,先插入父表,然后插入子表。好吧..。除非您正在使用可推迟的约束,但这是您目前应该避免的一个相当高级的主题。
例如:
insert into MUSIC FESTIVAL (name, location, date, stages, tickets, transportation)
values ('Monster', 'Tokio', date '2019-03-15', 12345678, 12);
insert into PUBLIC (public_name, ..., ticket_id, ...)
values ('Abc', ..., 'Monster', ...);子表上的第二个insert包括第一个insert已经创建的外键Monster。
https://stackoverflow.com/questions/54102294
复制相似问题