Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

PostgreSQL Insert Record: Insert a record into the table to ensure that, the combination of two columns will be entered once in that table


8. Write a SQL statement to insert a record into the table countries to ensure that, at country_id and the region_id combination will be entered once in the table.

Sample Solution:

Code:

Here is the code to create a sample table countries:

CREATE TABLE countries ( 
COUNTRY_ID integer NOT NULL,
COUNTRY_NAME varchar(40) NOT NULL,
REGION_ID integer NOT NULL,
PRIMARY KEY (COUNTRY_ID,REGION_ID)
);

Now insert the value into the table countries :

INSERT INTO countries VALUES(501,'India',185);

Here is the command to see the list of inserting rows :

postgres=# SELECT * FROM countries;
 country_id | country_name | region_id
------------+--------------+-----------
        501 | India        |       185
(1 row)

Now try to insert another row with the same combination of values for country_id and region_id, and see what happened:

postgres=# INSERT INTO kan VALUES(501,'Italy',185);
ERROR:  duplicate key value violates unique constraint "countries_pkey"
DETAIL:  Key (country_id, region_id)=(501, 185) already exists.

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a SQL statement to insert one row in the jobs table to ensure that no duplicate values will be entered into the job_id column.
Next: Write a SQL statement to insert rows into the table countries in which the value of country_id column will be unique and auto incremented.

What is the difficulty level of this exercise?