如何知道MySql的条件INSERT是否有效?

时间:2016-05-19 04:37:07

标签: mysql node.js sql-insert insert-into

使用条件插入,我想知道是否插入了行或是否找到了重叠。

如果请求不与任何现有条目重叠,我有一个查询将请求插入数据库。查询有效,但我怎么知道是否发生了碰撞?查询只是成功执行。这是我的疑问:

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 个答案:

答案 0 :(得分:1)

您可以检查results.insertId并查看其中是否包含某些内容。