正确INSERT .. ON DUPLICATE KEY语法?

如何检查表上是否已存在特定的主键(字符串变量),如果没有插入新记录,则只需使用c#更新现有的新值?

我试过这个

MySqlCommand cmd2 = new MySqlCommand("INSERT INTO mapdisplay (ID,Distance) VALUES (@r,@c,) ON DUPLICATE KEY UPDATE mapdisplay (Distance) VALUES (@c,)", conn); 

但我觉得语法错了。

 INSERT INTO mapdisplay (HexID,FlightNo,Lat,Lon,Alt,Course,Groundspeed,Verticalrate,Distance) VALUES (@r,@c,@f,@t,@w,@q,@u,@e,@y) ON DUPLICATE KEY UPDATE FlightNo = @c ,Lat = @f ,Lon = @t ,Alt = @w ,Course = @q ,Groundspeed = @u ,Verticalrate = @e ,Distance = @y; 

查看此链接中的最后一个示例:
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

INSERT … ON DUPLICATE KEY UPDATE …