删除表中的所有内容并替换它 - sqlite

时间:2014-04-22 11:11:21

标签: javascript jquery sqlite

这是我的问题......我在这里有一些代码:

db.transaction(function(transaction) {
               var optgroup = String($('#myselect').val());

               var optarray = optgroup.split(',');
               for(var i=0; i<optarray.length; i++){
               transaction.executeSql('INSERT INTO table1(colum1)\
                                      VALUES(?)',[optarray[i]],
                                      nullHandler);
               }

               });

这本身并不是问题,它可以按预期工作。数组中的每个值都存储在表的不同行中。我的问题是,如果用户从myselect中选择不同的值,我想更新表。

如果我显然执行INSERT OR REPLACE,在遍历数组时,它只会将最后一个值放入一行。有没有办法删除表中的所有内容,然后存储新的值?我基本上想要一个系统,我可以根据用户做的新输入摆脱用户先前的行并放入新的行。

我真的很想知道如何做到这一点。

1 个答案:

答案 0 :(得分:0)

意识到它实际上非常简单,我想我只是忘记了DELETE查询&gt;。&lt;

db.transaction(function(transaction) {
               transaction.executeSql('DELETE FROM table1 WHERE Id > 0\
                                      ',
                                      nullHandler);


               });

db.transaction(function(transaction) {
           var optgroup = String($('#myselect').val());

           var optarray = optgroup.split(',');
           for(var i=0; i<optarray.length; i++){
           transaction.executeSql('INSERT INTO table1(colum1)\
                                  VALUES(?)',[optarray[i]],
                                  nullHandler);
           }

           });

因此,在插入新值之前,它首先删除表中的所有内容。这很好。