如果在唯一状态下重复输入数据时将重复值插入数据库,则尝试创建警报条件 下面是我的代码示例,因为测试表的所有列都是唯一的,并且插入查询有重复的数据条目,我需要显示 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/