我有以下代码将“任务”插入到具有“任务”值的表中。我正在尝试修改此语句以将多个值插入到多个列中,但由于我不熟悉该格式,我似乎无法让它工作。
有人可以告诉我如何修改以插入多个值吗?
var item = this.$.newItem.getValue();
this.$.db.query( 'INSERT INTO tasks ( task ) VALUES ( ? )', { values: [ item ] } );
非常感谢。
我有以下代码将“任务”插入到具有“任务”值的表中。我正在尝试修改此语句以将多个值插入到多个列中,但由于我不熟悉该格式,我似乎无法让它工作。
有人可以告诉我如何修改以插入多个值吗?
var item = this.$.newItem.getValue();
this.$.db.query( 'INSERT INTO tasks ( task ) VALUES ( ? )', { values: [ item ] } );
非常感谢。
我假设你不是要标记这个 MySQL....
但是 - 帮助处理 Enyo DB 查询的有用类是:
https://github.com/onecrayon/database-webos
一支蜡笔的实现。非常适合 Enyo。
我不确定您是否使用某种库,但如果您使用 SQLite 的标准 Web SQL 接口,则第二个参数是一个值数组,而不是您拥有的对象。所以代码看起来更像
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
数组中的另一个参数。