我尝试创建一个表,然后在其中添加一堆新列。它是由Javascript实现的(我认为使用的数据库是websql中的SQLite):
var FFFNames = ["DEFAULTY", "LAGACY", "MATADATA"];
db.transaction(function (tx){
tx.executeSql('CREATE TABLE IF NOT EXISTS ProjSetsT (ProjId unique)');
});
for (var i = 0; i < FFFNames.length; i++){
db.transaction(function (tx){
tx.executeSql('ALTER TABLE ProjSetsT ADD ? TINYINT(1)', FFFNames[i]);
});
}
那么它没有工作。表已创建,但未添加任何列。ALTER 中是否允许使用问号,还是有其他问题?
[9 月 20 日更新]:我尝试了不同的语法,例如“ALTER TABLE tablename ADD COLUMN ? datatype”,但它仍然不起作用。
我也试过这样的代码:
db.transaction(function (tx){
tx.executeSql('ALTER TABLE ProjSetsT ADD COLUMN ? TINYINT(1)', "TEST");
});
没有警告,但只是不起作用。
我也试过:
var AAA = "TEST";
db.transaction(function (tx){
tx.executeSql('ALTER TABLE ProjSetsT ADD COLUMN ? TINYINT(1)', AAA);
});
这次我得到了错误:
未捕获的错误:TYPE_MISMATCH_ERR:DOM 异常 17