正确INSERT .. ON DUPLICATE KEY语法?

时间:2011-09-20 14:48:54

标签: c# mysql exists

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

我试过这个

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

但我认为语法错误。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

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