Я хочу вставить данные из двух разных таблиц в эту:
DROP TABLE IF EXISTS Customer CASCADE;
CREATE TABLE Customer (
CustomerID INTEGER,
CompanyName VARCHAR(255),
ContactName VARCHAR(255),
ContactTitle VARCHAR(255),
Address VARCHAR(255),
City VARCHAR(255),
Region VARCHAR(255),
PostalCode VARCHAR(255),
Country VARCHAR(255),
PRIMARY KEY (CustomerID),
FOREIGN KEY (CustomerID) REFERENCES Person(PhoneID)
);
CustomerID is PK / FK из PhoneID и PhoneID находится в таблице Person .
Другие значения находятся в таблице CustomerOrders .
Поэтому я хочу вставить PhoneID в CustomerID, а остальные данные CustomerOrders - в другие переменные.
Я предложил это:
INSERT INTO customer (
customerid,
companyname,
contactname,
contacttitle,
address,
city,
region,
postalcode,
country
)
SELECT phoneid,
companyname,
contactname,
contacttitle,
address,
city,
region,
postalcode,
country
FROM person,
customerorders;
Но когда я компилирую, он говорит:
[2018-12-17 18:03:26] [23505] ОШИБКА: дубликат ключанарушает ограничение уникальности «customer_pkey»
[2018-12-17 18:03:26] Подробности: ключ уже существует (customerid) = (1).
Если я еще не закончил объяснение, я оставляю модель:
![model](https://i.stack.imgur.com/n01lz.png)