r
  • sqlite
  • 2017-09-27 45 views 1 likes 
    1

    我使用的數據幀的數據,以嘗試和看起來像更新表一數據幀

    Part | Price 
    ------------ 
        a | 5 
        b | 9 
    

    我得到一個語法錯誤,這

    for(row in 1:nrow(newdata)){dbGetQuery(conn=db,"UPDATE Parts SET Price = ",newdata$Price[row], " WHERE Part = '", newdata$Part[row],"';")} 
    
    SQLite數據庫更新表

    確切的錯誤我收到:

    錯誤rsqlite_send_query(康涅狄格州@ PTR,語句):「「附近:語法錯誤

    這是爲什麼?

    +0

    查詢必須是單個字符串:您必須將它粘貼在一起。 – wici

    回答

    1

    查詢字符串需要建成一個字符串

    for(row in seq_len(nrow(newdata))) { 
        dbGetQuery(conn=db, sprintf("UPDATE Parts SET Price = %i WHERE Part = '%s';", newdata$Price[row], newdata$Part[row])) 
    

    }

    也有可能與pastepaste0,但sprintf做到這一點可能是更容易閱讀。

    +0

    謝謝你的工作,我只是不得不改變%i,因爲它有一個無效的格式錯誤 – Niall

    相關問題