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

标签 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');");
        });

最佳答案

您可以使用发生 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");
            }
}

因为您的插入查询实际上并没有错误,所以它执行得很好,但不会插入两个查询。

关于javascript - 如果根据唯一条件 javascript 在数据库中插入重复条目,则发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32755011/

相关文章:

javascript - 使用 ng-repeat 表嵌套数据

javascript - 这是包装 Javascript 变量的好方法吗?

javascript - 动态更改 keyup 上的按钮属性

c# - 不能在 Dapper 查询中使用自定义类型作为参数插入 SQLite 数据库

c# - 我的 SQLite 数据库是在哪里创建的?

javascript - 如何获得div内3个p标签的总高度?

javascript - ng-repeat中点击时如何获取元素的属性

javascript - 删除基于另一个数组的数组元素

ajax - jquery 多个ajax 检查是否全部完成? (顺序不重要)

database - SQLite:我应该在断开连接之前分离附加的数据库吗?