eomeroff
eomeroff

Reputation: 9915

if not exists insert in MySql

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

Answers (2)

Ike Walker
Ike Walker

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

Mchl
Mchl

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

Related Questions