1
我試着創建一個表格,然後在其中添加一堆新的列。它是通過Javascript實現的(使用的數據庫是我認爲的websql中的SQLite):我可以在ALTER查詢中使用問號嗎?
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中允許使用問號還是還有其他問題?
[Updated on 20th Sep]:我嘗試了不同的語法,比如「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);
});
這一次我得到了錯誤:
Uncaught Error: TYPE_MISMATCH_ERR: DOM Exception 17
我會給一個去看看。但通過書看來,我們應該使用ADD(不列)和DROP COLUMN。嘿...也許它是依賴於產品的。 –
請在上面查看我的更新。看起來這不是根本原因。 –
我現在看到錯誤 - 很抱歉,我第一次沒有注意到其他錯誤。即使只有一個參數,第二個參數也必須是一個數組。所以確保你用方括號括住第二個參數。 – rationalboss