2011-09-20 3 views
2

Comment puis-je vérifier si une clé primaire spécifique (une variable de chaîne) existe déjà sur la table et si ce n'est pas le cas, il suffit de mettre à jour l'ancienne avec C#?Corriger la syntaxe INSERT .. ON DUPLICATE KEY?

J'ai essayé

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

mais je pense que la syntaxe est erronée.

+0

pourquoi êtes-vous vandalisé votre poste? – Johan

Répondre

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; 

Regardez le dernier exemple dans ce lien:
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

Questions connexes