2016-06-29 7 views
0

更新し、私は2つの列C#のMySQLのINSERTクエリは、その後、私はテーブルに新しいレコードを挿入しようとしています

を持って
 user_records 
------------------------ 
| Attribute | Datatype | 
|------------------------| 
| user_id | varchar(25)| 
| count  | int  | 
------------------------ 

問合せ:

INSERT into user_records Values("nix_1", 0) 

が、ユーザーがすでに存在する場合

1つカウントを増やす必要があります

答えて

0

なぜINSERT ... ON DUPLICATE KEY構文を使用していない上の情報については、以下のリンクを参照してください?

INSERT INTO user_records (user_id, count) VALUES ('nix_1', 0) 
ON DUPLICATE KEY UPDATE count = count + 1; 

http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html

+0

私はDUPLICATE KEY UPDATE ON認識できない '、' 1 '+カウント=カウントが、それは(ON近く)エラー '認識されないキーワードを与える(0、 'nix_1')user_recordsのVALUES。INSERT INTO'てみましたキーワード(近いDUPLICATE) '、'認識できないキーワード(近いキー) '。 – Nixi

+0

どのバージョンのMySQLとどのデータエンジンですか? – Nicarus

+0

私はxamppを 'データベースクライアントのバージョン:libmysql - mysqlnd 5.0.12-dev'とXAMPP' Version 3.22'で使用しています – Nixi

0

INSERTにしようとする前に、レコードが存在するかどうかチェックします。あなたの質問は、次のようなものでなければなりません。例はSQL Serverで動作します。

DECLARE @sUserID VARCHAR(25) = "nix_1"; // This should be the parameter passed on into the stored procedure 

IF EXISTS(SELECT user_id FROM WHERE user_id = @sUserID) 
    // Increase the count 
    UPDATE user_records SET count = count + 1 
     WHERE user_id = @sUserID 
ELSE 
    // Insert new record 
    INSERT INTO user_records Values (@sUserID , 0) 

EXIST

EXISTS (Transact-SQL)

SQL EXISTS Operator

Difference between EXISTS and IN in SQL?

関連する問題