通过带变量的查询INSERT到从另一个表中提取的表记录

时间:2012-09-23 10:37:27

标签: javascript web-sql

我正在尝试编写一个查询,从表中提取和转换数据,然后插入到另一个表中。如果我添加字符串,它正在工作,但是当我添加变量时它没有。它给了我空桌!

function dodb() {

    var name = document.getElementsByName('prezime');
    var elements = document.getElementsByName('bt');

    for (var i = 0; i <= elements.length; i++) {
        var oelements = elements[i];
        oelements.onclick = (function(){
        var name1 = name[i].firstChild.nodeValue;
        return function() {
            db.transaction(function (tx) {
                var a = "INSERT INTO racersA SELECT * FROM racers WHERE prezime=%name1%";
                tx.executeSql(a);
            });
        }
        })(i);
    }
}

2 个答案:

答案 0 :(得分:0)

你没有把任何变量放到你的SQL中,所以因为它简单的Javascript你需要将你的变量与你的字符串连接

应该是

var a = "INSERT INTO racersA SELECT * FROM racers WHERE prezime='" + name1 + "'";

答案 1 :(得分:0)

或者,使用参数化SQL

var a = "INSERT OR REPLACE INTO racersA SELECT * FROM racers WHERE prezime = ?";
tx.executeSql(a, [name]);