2017-06-13 92 views
-2

创建表,将数据插入表中,现在它给我一个错误SQL不允许我插入数据

SQL Error: ORA-02291: integrity constraint (S21403051.SYS_C007300) violated - parent key not found 02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found" *Cause:

CREATE TABLE CUSTOMER(
CUSTOMER_ID VARCHAR(10) PRIMARY KEY, 
FIRST_NAME VARCHAR(10), 
SURNAME VARCHAR(15), 
CUSTOMER_TEL VARCHAR(12), 
CUSTOMER_EMAIL VARCHAR(30) 
) 

INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_1', 'CUST_102', 'EMP_51'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_3','CUST_101','EMP_51'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_3','CUST_101','EMP_53'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_5','CUST_103','EMP_54'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_5','CUST_107','EMP_54'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_1', 'CUST_106','EMP_55'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_1','CUST_108','EMP_55'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_5','CUST_104','EMP_51'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_3','CUST_109','EMP_51'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_2','CUST_1010','EMP_52'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_2','CUST_1010','EMP_55'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_5','CUST_101','EMP_51'); 
INSERT INTO CUSTOMER_CRUISES VALUES ('CRUISE_5','CUST_103','EMP_51'); 
+0

我们可以看到customer_cruises表的创建代码吗? – cosinepenguin

+0

你可以发布CUSTOMER_CRUISES的表格结构 – Adam

+2

为什么你在美国!!! –

回答

2

当你定义了6列CUSTOMER_ID,FIRST_NAME,姓, CUSTOMER_TEL,CUSTOMER_EMAIL,当您尝试插入值时,它将按照表定义的顺序进行。相反,你可以尝试这样 例子:

INSERT INTO CUSTOMER_CRUISES 
(column1, clumn2,column3) 
values ('xx','xy','yz') 

然而,作为主键上定义你不能插入重复值到第一列。而且,它不能为空。 希望这有助于

+0

CREATE TABLE CUSTOMER_CRUISES( CRUISE_ID VARCHAR(10), CUSTOMER_ID VARCHAR(10), EMPLOYEE_ID VARCHAR(10), 外键(CRUISE_ID)参考文献CRUISE(CRUISE_ID) 外键(CUSTOMER_ID)参考客户(CUSTOMER_ID), FOREIGN KEY(EMPLOYEE_ID)REFERENCES EMPLOYEE(EMPLOYEE_ID) );对本表进行了解释 –

1

原因外键值没有匹配的主键值。

当您尝试将包含Customer_ID列的记录插入子表(CUSTOMER_CRUISES)并且此Customer_ID不存在于父表(CUSTOMER)中时,会出现此问题。当CUSTOMER_CRUISES表中的Customer_ID(外键)未引用CUSTOMER表中的Customer_ID(主键)时,会引发错误。

一种解决方法是在将值插入CUSTOMER_CRUISES表之前,先插入并确保该值存在于CUSTOMER表中。

相关问题