если не существует, вставьте в MySql - PullRequest
3 голосов
/ 13 января 2011

Это код MS SQL

    if not exists (select PId from Person
             where Name = 'Name1' and Surname = 'Surname1')
    INSERT INTO [someDb].[dbo].[Person] 
        ([Name] ,[Surname])
    VALUES
        ('Name1' ,'Surname1')

Можете ли вы помочь мне написать эквивалентный код для моего sql

спасибо

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Если у вас есть уникальный индекс (имя, фамилия), вы можете использовать INSERT IGNORE:

INSERT IGNORE INTO `someDb`.`Person` 
        (`Name` ,`Surname`)
    VALUES
        ('Name1' ,'Surname1')
1 голос
/ 13 января 2011

В MySQL обычно это делается Я обычно делал это до того, как увидел другой ответ с

INSERT INTO table (fields) VALUES (values) ON DUPLICATE KEY UPDATE ID=ID;

В вашем случае для этого потребовался бы УНИКАЛЬНЫЙ индекс (Имя, Фамилия)столбцы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...