javascript - SQLite - 由于约束失败而无法执行语句(19 约束失败)

标签 javascript sqlite cordova insert

我开始使用 SQLite 和 Javascript 来开发 PhoneGap 应用程序,这里的问题是我正在使用 Web 服务并向本地 sqlite 数据库添加行。在这种情况下,我要插入的项目长度正好是1016,但它只插入了不到100,并且不断显示“由于约束失败而无法执行语句(19约束失败)”。

这是代码的一部分:

function onSuccessCustomers(data){
    alert("CLIENTES: " + data.length);
    $.each(data, function(i, item) { 
         database.executeQuery("INSERT INTO cliente1 (codcli) VALUES ('" + item.CODCLI + "')");                           
    });
}

这里警报显示“CLIENTES: 1016”,这是正确的!,foreach 也持续了 1016 次。但是当我检查表时,只插入了几行。

这是executeQuery 函数:

function executeQuery (query) {
        var deferred = $.Deferred();

        getInstance().transaction(function(tx) {
            tx.executeSql(query, [], function(tx, r) {
                deferred.resolve(r);
            }, function(tx, e) {
                alert(e.message);
                deferred.fail(e);
            });
        });
        return deferred.promise();
    };

这是消息出现的时间。有什么想法吗??

最佳答案

虽然这是一个老问题,但我面临类似的情况,我所做的就是删除表并重新创建它来解决它。 发生的情况是,在将列编辑为新列后,我试图插入表中不存在的列。

关于javascript - SQLite - 由于约束失败而无法执行语句(19 约束失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21469398/

相关文章:

javascript - JQuery 日期选择器无法使用 css 正确显示

android - 如何将图片存入sqlite数据库并显示出来?

ios - Swift 中的群组电话 session

iphone - 如何在phonegap中通过ajax调用访问本地文件?

nginx - sqlite3无法打开数据库文件,运行Centos,flask uwsgi nginx

java - 从 Java 为 Ionic 制作一个插件

javascript - 简单的 jQuery Animate 示例 - 从一个 div 滚动到另一个 div

javascript - ajax 调用后 Google 图表不绘制

javascript - 计算每秒消耗的汽油并在网络上显示

sql - 如何以及何时为 graphql 生成 ID?