2011-01-12 67 views
3

插入这是MS SQL代码如果不存在MySQL的

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

可以请你帮我

感谢

回答

3

UNIQUE索引假设您有(名字,姓氏)唯一索引,你可以使用INSERT忽略:

INSERT IGNORE INTO `someDb`.`Person` 
     (`Name` ,`Surname`) 
    VALUES 
     ('Name1' ,'Surname1') 
1

在MySQL 它通常做写ekvivalent代码为我的SQL我通常是在我看到其他答案之前做的

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

在你的情况下,将要求(名字,姓氏)列

+0

这是什么呢?我已尝试过,并且每次插入新行 – eomeroff 2011-01-12 22:49:28