Asif Mehmood
Asif Mehmood

Reputation: 984

MySQL: INSERT Data if no record found in SELECT Statement

Can i insert data if no record found in a table in one single query ?? (If YES/NO, kindly guide)

EXAMPLE

SELECT * FROM CITIES ct WHERE ct.city = 'Any City Name';

if above query returns ZERO [ 0 ] records then the following query must get executed:

INSERT INTO CITIES (city) VALUES ('Any City Name');
SELECT * FROM CITIES ct WHERE ct.city = 'Any City Name'

Upvotes: 2

Views: 1763

Answers (1)

Kostas Mitsarakis
Kostas Mitsarakis

Reputation: 4747

You can try this:

INSERT INTO CITIES (city) 
SELECT 'Any City Name' 
FROM cities
WHERE NOT EXISTS (SELECT * FROM CITIES WHERE city = 'Any City Name') LIMIT 1;

Upvotes: 3

Related Questions