2014-03-02 26 views
0

在MSSQL中它正在工作;如果MySQL中存在重複行

IF EXISTS (SELECT id FROM T1 WHERE id=X) 
    BEGIN INSERT INTO T1(C1, C2, C3) 
     (SELECT C1, C2, 'Different Value' AS C3 FROM T1 WHERE id=X) 
    END 

什麼是MYSQL的對應語法。

預先感謝您

回答

1

剛:

INSERT INTO T1(C1, C2, C3) 
SELECT C1, C2, 'Different Value' AS C3 
FROM T1 
WHERE id=X 

如果記錄id = X存在,它會被插入,否則不是。

+1

我們不使用關鍵字'values'!? – goseo

+1

@Reza Nope,[從'SELECT'獲取值時不需要VALUES](http://sqlfiddle.com/#!2/6e885/1)。 –

+0

不,請參閱文檔:http://dev.mysql.com/doc/refman/5.6/en/insert.html查找「INSERT ... SELECT」語法,值用於「INSERT ... VALUES」版。 – krokodilko