2016-05-19 4 views
1

条件付き挿入を使用すると、行が挿入されたかどうか、または重複が見つかったかどうかを知りたいと思います。MySqlの条件付きINSERTが機能するかどうかを知る方法?

既存のエントリと重複しない場合、データベースにリクエストを挿入するクエリがあります。クエリは機能しますが、衝突があったかどうかはどのようにわかりますか?クエリは正常に実行されます。ここに私の質問があります:

INSERT INTO requests(id, start_time, end_time) 
    SELECT NULL, 1463631640671,1463636731000, 
    FROM Dual 
    WHERE NOT EXISTS (
    SELECT * FROM requests 
     WHERE 
      start_time < 1463638531000 AND 
      end_time > 1463636731000 
    ) 

お問い合わせください。私は、mysqlパッケージを使ってNode.jsの中でこれをやっています。

このコードは次のようになり、毎回「成功」を返します。

var queryString = "INSERT INTO requests(id, start_time, end_time..." 

connection.query(queryString, function(error, results, fields) { 
    if (!error) { 
     console.log('SUCCESS!'); 
    } 
    else { 
     console.log('Insert into requests unsuccessful.'); 
     console.log('ERROR: ' + error); 
    } 
}); 

答えて

1

あなたはresults.insertIdを調べて、あなたに何かがあるかどうか確認できます。

関連する問題