首页 > 解决方案 > 重复条目唯一键....我的错误捕获失败

问题描述

所以我正在更新一些东西,但我只希望它为新记录做记录。

 for (var i=0; i<allquery.length;i++)
    {
    var oldrecord = allquery[i];
    var newrecord = app.models.xx.newRecord();
    newrecord.gPor = xxString;
    newrecord.UniqueNumber = oldrecord.Unique;
      newrecord.Name = oldrecord.dname;      
    try{app.saveRecords([newrecord]);//this is line 30            
    results.push(newrecord);}catch(e){Logger.log (e+ " "+oldrecord.dname);}     

    }//for loop

我很沮丧,因为 sql 错误应该在 try catch 中被捕获(它出现在 saveRecords 行......但它正在杀死脚本。想法?我需要实现手动保存模式吗?(这需要重写别处。

错误是:

例外:格式错误的 SQL。更多信息:SQL 语句错误:键 'UniqueNumber_unique' 的重复条目 '0270'。在 createApprovals (ApprovalBugScripts:30)

标签: google-app-maker

解决方案


将整个创建部分包含在 try catch 中有效:

 for (var i=0; i<allquery.length;i++)
    {
try{
    var oldrecord = allquery[i];
    var newrecord = app.models.xx.newRecord();
    newrecord.gPor = xxString;
    newrecord.UniqueNumber = oldrecord.Unique;
      newrecord.Name = oldrecord.dname;      
    app.saveRecords([newrecord]);//this is line 30            
    results.push(newrecord);}catch(e){Logger.log (e+ " "+oldrecord.dname);}     

    }//for loop

推荐阅读