正确插入.重复键语法

本文关键字:语法 插入 | 更新日期: 2023-09-27 18:09:12

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

I tried this

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

但是我认为语法是错误的

正确插入.重复键语法

INSERT…

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