Help with Javascript SQL INSERT



我有下面的代码插入一个"任务"到一个表与"任务"的值。我试图修改这个语句,以插入多个值到多个列,但我似乎不能让它工作,因为我不熟悉的格式。

有人可以告诉我如何可以修改插入多个值?

var item  = this.$.newItem.getValue();
this.$.db.query( 'INSERT INTO tasks ( task ) VALUES ( ? )', { values: [ item ] } ); 

谢谢。

我假设你不是故意标记这个MySQL....

然而,一个有用的类帮助解决Enyo数据库查询是:

https://github.com/onecrayon/database-webos

一个蜡笔的实现。

我不确定您是否正在使用某种库,但如果您使用标准的Web SQL接口到SQLite,则第二个参数是值的数组,而不是像您那样的对象。代码看起来更像

db.transaction(
    function (transaction) {
        transaction.executeSql(
                "INSERT OR IGNORE INTO contact (contactId, nameG, nameF, orgContactId, accountId) VALUES (?, ?, ?, ?, ?)",
                [contact.contactId, contact.nameG, contact.nameF, contact.orgContactId, contact.accountId],
                function (transaction, resultSet) {   // SQL INSERT statement success
                    // do something now that the item has been saved
                },   // end statement success callback
                function (transaction, sqlError) {   // statement fail
                    // report failed operation
                    return true;   // abort transaction
                }
        );
    }   // end transaction function
    // no transaction callbacks
);   // end transaction call

不知道这个javascript实际上在做什么使得很难回答这个问题,但足以说明在sql查询中向多个字段插入值的语法如下

插入表名 ( col1 , col2 , coln )值( val1 , val2 , valn

作为一个有根据的猜测,我会说你在寻找

this.$.db.query( 'INSERT INTO tasks ( task, some_other_field ) VALUES ( ?,? )', { values: [ item, some_other_input ] } ); 

对于sql查询中的每个"?",您将需要在values数组中另一个参数。

最新更新