2013-03-25 121 views
0

是否有東西插入到SQLite中插入重複鍵在MySQL中?重複鍵插入在phonegap

在PhoneGap中,我在'ON DUPLICATE'上收到SQL語法錯誤。插入前我不想查找每個項目。

我的代碼:

$.each(jsondata, function(i, item) { 
    tx.executeSql('INSERT INTO Pricelist2 (id, name,desc,make,price) '+ 
        'VALUES ('+jsondata[i].id+', '+ 
          '"'+data[i].name+'", '+ 
          '"'+jsondata[i].description+'", '+ 
          '"'+jsondata[i].make+'", '+ 
          '"'+jsondata[i].price+'")'+ 
        ' ON DUPLICATE KEY UPDATE '+ 
         'desc=\''+jsondata[i].description+'\','+ 
         'price=\''+jsondata[i].price+'\';'); 
    }); 

回答

3

只能使用syntax that is actually supported by SQLite

對於這個特定的問題,INSERT OR REPLACE可能是你想要什麼:(如果記錄已經存在,namemake也將被替換)

tx.executeSql('INSERT OR REPLACE INTO Pricelist2(id,name,desc,make,price)'+ 
       'VALUES (?,?,?,?,?)', 
       [jsondata[i].id, 
       data[i].name, 
       jsondata[i].description, 
       jsondata[i].make, 
       jsondata[i].price]);