正确INSERT .. ON DUPLICATE KEY语法?

正确INSERT .. ON DUPLICATE KEY语法?

问题描述:

如何检查表上是否存在特定的主键(字符串变量),如果不插入新记录,否则只需使用c#更新现有的新值;正确INSERT .. ON DUPLICATE KEY语法?

我想这

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

,但我认为语法是错误的。

+0

你为什么要故意破坏自己的职位? – Johan

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

+0

我试过了,但我无法找到正确的语法 – redfrogsbinary