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

MySQL insert into Statement Exercises: Insert a record into the table countries to ensure that, a country_id and region_id combination will be entered once in the table

MySQL insert into Statement: Exercise-9 with Solution

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

Create the table countries.

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

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

mysql> SELECT * FROM countries;
+------------+--------------+-----------+
| COUNTRY_ID | COUNTRY_NAME | REGION_ID |
+------------+--------------+-----------+
|        501 | India        |       185 |
+------------+--------------+-----------+

Sample Solution:

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

Let execute the above code in MySQL 5.6 command prompt.

mysql> INSERT INTO countries VALUES(501,'Italy',185);
ERROR 1062 (23000): Duplicate entry '501-185' for key 'PRIMARY'

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

Previous:Write a SQL statement to insert one row in jobs table to ensure that no duplicate value will be entered in 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?