2011-01-12 52 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