Reputation: 9915
This is MS SQL code
if not exists (select PId from Person
where Name = 'Name1' and Surname = 'Surname1')
INSERT INTO [someDb].[dbo].[Person]
([Name] ,[Surname])
VALUES
('Name1' ,'Surname1')
can you please help me to write ekvivalent code in for my sql
thanks
Upvotes: 3
Views: 2533
Reputation: 65527
Assuming you have a unique index on (name,surname), you can use INSERT IGNORE:
INSERT IGNORE INTO `someDb`.`Person`
(`Name` ,`Surname`)
VALUES
('Name1' ,'Surname1')
Upvotes: 3
Reputation: 62359
In MySQL it's usually done I was usually doing it before I saw the other answer with
INSERT INTO table (fields) VALUES (values) ON DUPLICATE KEY UPDATE ID=ID;
In your case it would require a UNIQUE index on (Name,Surname) columns
Upvotes: 1