在PostgreSQL数据库中,我有一个具有以下结构的表:
| survey_id | employee | status (default: false) |
|--------------------------------------|---------------------|-------------------------|
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | NNogerbek@gmail.com | true |
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | DJony@gmail.com | true |
当我对数据库进行这样的SQL查询时,它将在表中创建新的2条记录。
INSERT INTO SURVEYS_EMPLOYEES_RELATIONSHIP (SURVEY_ID, EMPLOYEE)
SELECT '66c89a34-fff2-4cbc-a542-b1e956a352f3' SURVEY_ID, EMPLOYEE
FROM UNNEST(ARRAY['NNogerbek@gmail.com', 'IKim@gmail.com']) EMPLOYEE
最后在表中我有4条记录:
| survey_id | employee | status |
|--------------------------------------|---------------------|---------|
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | NNogerbek@gmail.com | true |
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | DJony@gmail.com | true |
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | NNogerbek@gmail.com | false |
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | IKim@gmail.com | false |
是否可以不创建表中已经存在的记录?如您所见,表中已经存在雇员列中具有NNogerbek@gmail.com
值的记录。同时,我想删除不在插入查询中的记录。有可能吗?
我想要的最终结果:
| survey_id | employee | status |
|--------------------------------------|---------------------|---------|
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | NNogerbek@gmail.com | true |
| 66c89a34-fff2-4cbc-a542-b1e956a352f3 | IKim@gmail.com | false |