如何在javascript中使用SQL将包含5个元素的数组插入db表?

如何在javascript中使用SQL将包含5个元素的数组插入db表?,javascript,ios,sql,arrays,cordova,Javascript,Ios,Sql,Arrays,Cordova,目前,我正在使用javascript中的SQL(Phonegap应用程序)向数据库中插入一个值 下面的代码用于将值插入db 但当我尝试在循环中运行该INSERT查询时,它会显示内存问题,例如运行时使用的2.05GB内存 function populateDB(tx) { var newsArray=new Array(); newsArray[0]="one"; newsArray[1]="two"; newsArray[2]="three";

目前,我正在使用javascript中的SQL(Phonegap应用程序)向数据库中插入一个值

下面的代码用于将值插入db

但当我尝试在循环中运行该INSERT查询时,它会显示内存问题,例如运行时使用的2.05GB内存

    function populateDB(tx) {

    var newsArray=new Array();
    newsArray[0]="one";
    newsArray[1]="two";
    newsArray[2]="three";
    newsArray[3]="four";
    newsArray[4]="five";
     tx.executeSql('DROP TABLE IF EXISTS NEWS');
 tx.executeSql('CREATE TABLE IF NOT EXISTS NEWS (id PRIMARY KEY AUTO INCREMENT ,news TEXT NOT NULL)');
var i=0;
while(i<newsArray.length){


 tx.executeSql('INSERT INTO NEWS (news) VALUES ('newsArray[i]')');
    i++;
}

                //Dropping and adding makes sure there is one entry of the news item.
                //You may actually cache multiple copies and make it a feature as well.
}
函数填充b(tx){
var newsArray=新数组();
新闻数组[0]=“一”;
新闻数组[1]=“两个”;
新闻数组[2]=“三”;
新闻数组[3]=“四”;
新闻数组[4]=“五”;
tx.executeSql('DROP TABLE IF EXISTS NEWS');
tx.executeSql('CREATE TABLE IF NOT EXISTS NEWS(id主键自动递增,NEWS TEXT NOT NULL));
var i=0;
而(i检查这个答案
介绍如何在SQLITE中用一条语句插入多行。这可能会使循环插入的性能大大提高


此外,drop和create表可能会很昂贵-是否有一种方法可以唯一标识源数据,以便您只需在源数据不存在时进行插入?

能否发布“在循环中插入查询”的代码?好的,向我们展示导致问题的代码,而不是运行正常的代码:-)循环是什么样子的?提供的代码无助于诊断问题。您可以在mysql中使用REPLACE INTO和for sql check代替drop和create table。请检查更新的代码数组中的值的数量可能会有所不同,因此我正在寻找一种动态方法。这是可以的。您可以修改循环,将sql查询动态构建为string、 然后只执行一次。