O1RA-0229 integrity violation violated - parent key not found

SQL Database Code:

CREATE TABLE MYBUILDING ( B_NUMBER NUMBER(1) NOT NULL, NAME VARCHAR2(25) NOT NULL, ADDRESS VARCHAR2(40) NOT NULL, P_CODE VARCHAR2(6) , FLOOR_NUM_UP NUMBER(3) DEFAULT '1' NOT NULL CHECK (FLOOR_NUM_UP >= 0), FLOOR_NUM_DOWN NUMBER(3) DEFAULT '0' NOT NULL CHECK (FLOOR_NUM_DOWN >= 0), CONS_DATE DATE NOT NULL, PRIMARY KEY (B_NUMBER) ); ------- CREATE TABLE FLOOR ( B_NUMBER NUMBER(1) NOT NULL, F_NUMBER NUMBER(2) NOT NULL CHECK (F_NUMBER >= -4 AND F_NUMBER <= 25), SPACE_M NUMBER(4) NOT NULL CHECK (SPACE_M > 0), PRIMARY KEY (B_NUMBER, F_NUMBER), FOREIGN KEY (B_NUMBER) REFERENCES MYBUILDING ); ------ CREATE TABLE TENANT ( TENANT_NUM NUMBER(3) NOT NULL, TENANT_NAME VARCHAR2(40) NOT NULL, C_NAME VARCHAR2(40) NOT NULL, C_ADDRESS VARCHAR2(40), P_CODE VARCHAR2(6), P_NUMBER NUMBER(12), PRIMARY KEY (TENANT_NUM) ); ------- CREATE TABLE LOCATION ( B_NUMBER NUMBER(1) NOT NULL, F_NUMBER NUMBER(2) NOT NULL, L_NUMBER NUMBER(3) NOT NULL CHECK (L_NUMBER > 0 AND L_NUMBER < 100 ), SPACE_M NUMBER(4) NOT NULL, RATE NUMBER(5) NOT NULL CHECK (RATE >= 0 AND RATE <= 350), RENT NUMBER(4) NOT NULL, S_DATE DATE, E_DATE DATE, TENANT_NUM NUMBER(3), PRIMARY KEY (L_NUMBER, F_NUMBER, TENANT_NUM), CONSTRAINT FK_TENANT FOREIGN KEY (TENANT_NUM) REFERENCES TENANT ON DELETE SET NULL, FOREIGN KEY (B_NUMBER, F_NUMBER) REFERENCES FLOOR ); 

Hello to all! I made a series of tables, and I think I did it right. I entered my input values ​​into all the tables without a hitch, except for the LOCATION table.

this is a mistake that gives me.

 INSERT INTO LOCATION VALUES (1, 1, 1, 300, 101, 0, '01-JAN-2004', '30-JUN-2004', 1); INSERT INTO LOCATION VALUES (1, 1, 1, 300, 101, 0, '01-JAN-2004', '30-JUN-2004', 1) 

ERROR on line 1: ORA-02291: integrity constraint (ASSIGNMENT.FK_TENANT) violated - parent key not found.

Any help and advice would be appreciated. Thanks!

fixed.

 CREATE TABLE LOCATION( B_NUMBER NUMBER(1) NOT NULL, F_NUMBER NUMBER(2) NOT NULL, L_NUMBER NUMBER(3) NOT NULL CHECK (L_NUMBER > 0 AND L_NUMBER < 100 ), SPACE_M NUMBER(4) NOT NULL, RATE NUMBER(5) NOT NULL CHECK (RATE >= 0 AND RATE <= 350), RENT NUMBER(4) NOT NULL, S_DATE DATE, E_DATE DATE, TENANT_NUM NUMBER(3) NULL, PRIMARY KEY (L_NUMBER, B_NUMBER, F_NUMBER, TENANT_NUM), FOREIGN KEY (TENANT_NUM) REFERENCES TENANT ON DELETE SET NULL, FOREIGN KEY (B_NUMBER, F_NUMBER) REFERENCES FLOOR ); 
+6
source share
1 answer

Your insert statement is trying to insert a value into the TENANT_NUM column, which does not exist in the TENANT table - (there is a foreign key constraint in the Location table).

+6
source

Source: https://habr.com/ru/post/957163/


All Articles