我有下面的代码插入一个"任务"到一个表与"任务"的值。我试图修改这个语句,以插入多个值到多个列,但我似乎不能让它工作,因为我不熟悉的格式。
有人可以告诉我如何可以修改插入多个值?
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
数组中另一个参数。