2016-05-19 31 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中執行此操作。

和代碼看起來像這樣,並且它每次都返回'SUCCESS'。

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,看看你有什麼事情。

相關問題