Reputation: 9408
I am coming from MSSQL, and now using Mysql, this may be a easy one but how do you execute a if not exist statement. thanks
IF NOT EXISTS(SELECT * from users WHERE Username = spUsername)
BEGIN
INSERT into users(ID,Username,Password,Email,Birthdate,DateJoin)
VALUES(UUID(),spUsername,spPassword,spEmail,spBirthDate,NOW());
END
Upvotes: 1
Views: 10707
Reputation: 35319
Im not a database expert by any means but this is how I do it.
http://www.somethinghitme.com/2010/05/06/mysql-stored-procedures-if-not-exists/
DECLARE SomeId int;
DECLARE CheckExists int;
SET CheckExists = 0;
SELECT 1 INTO CheckExists from lookup_table WHERE someField = in_SomeParam LIMIT 1;
IF (CheckExists > 0) THEN
SELECT id INTO SomeId FROM lookup_table WHERE someField = in_SomeParam;
ELSE
INSERT INTO lookup_table (someField ) VALUES(in_SomeParam);
SELECT SomeId = LAST_INSERT_ID();
END IF;
Upvotes: 4