2014-03-02 37 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