如果在唯一条件javascript的数据库中插入重复条目,则发出警报

时间:2015-09-24 06:45:58

标签: javascript jquery sqlite

如果在唯一状态的重复数据条目上将重复值插入数据库,则尝试创建警报条件 我的代码下面作为测试表的示例所有列都是唯一的,并且插入查询有重复的数据输入,我需要显示sql错误

创建查询

    var db = openDatabase("demo", "1.0", "demo", 200000);

            db.transaction(function(tx) {
            tx.executeSql( "CREATE TABLE IF NOT EXISTS test (Slno INTEGER PRIMARY KEY AUTOINCREMENT, column1 TEXT UNIQUE, column2 TEXT UNIQUE, column3 TEXT UNIQUE, column4 TEXT UNIQUE, column5 TEXT UNIQUE)");
        });

插入查询

db.transaction(function(tx) {
            tx.executeSql("INSERT INTO test (column1, column2 ,column3, column4,column5) VALUES ('insert1','insert2','insert3','insert4','insert5'),('insert1','insert2','insert3','insert4','insert5');");
        });

1 个答案:

答案 0 :(得分:1)

您可以使用在发生sql错误时调用的错误回调函数。

tx.executeSql(query, values, successHandler, errorHandler);

请注意,错误和成功功能都有空间。

function errorHandler(transaction, error) {
    alert("Error : " + error.message);
}

也使用像这样的成功函数

function successHandler  (transaction, resultSet) {
            if (!resultSet.rowsAffected ) {
                // Previous insert failed. Bail.
                alert('No rows affected!');
                return false;
            }else if (resultSet.rowsAffected == 1){
                 alert("ONLY one row inserted");
            }
}

因为您的插入查询确实没有错误,所以它执行正常,但不会插入两个查询。