SQL не позволяет мне вставлять данные

создание таблицы и вставка данных в таблицу, и теперь это дает мне ошибку

Ошибка SQL: ORA-02291: ограничение целостности (S21403051.SYS_C007300) нарушено - родительский ключ не найден 02291. 00000 - "ограничение целостности (% s.% S) нарушено - родительский ключ не найден" * Причина:

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');
-2
источник поделиться
2 ответа

Когда вы определили 6 столбцов CUSTOMER_ID, FIRST_NAME, SURNAME, CUSTOMER_TEL, CUSTOMER_EMAIL, и когда вы пытаетесь вставить значения, это принимает порядок определения таблицы. Вместо этого вы можете попробовать это. Пример:

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

Тем не менее, вы не можете вставить дублирующее значение в первый столбец, так как на нем определяется первичный ключ. И он не может быть нулевым. Надеюсь это поможет

+2
источник

Причина. Значение внешнего ключа не имеет соответствующего значения первичного ключа.

Эта проблема возникает, когда вы пытаетесь вставить запись, содержащую столбец Customer_ID, в дочернюю таблицу (CUSTOMER_CRUISES) и что этот идентификатор Customer_ID отсутствует в родительской таблице (CUSTOMER). Когда Customer_ID (внешний ключ) в таблице CUSTOMER_CRUISES не получает ссылку на Customer_ID (первичный ключ) в таблице CUSTOMER, возникает ошибка.

Один способ заключается в том, чтобы вставить и убедиться, что значение присутствует в таблице CUSTOMER, прежде чем вставлять значения в таблицу CUSTOMER_CRUISES.

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос