2013-05-11 102 views
0

我剛剛添加了一個新的領域,我的Rails應用程序使用MySQL數據庫。我有一個CSV,其中包含表中已有記錄的新字段(名稱)的值。從CSV質量更新MySQL數據庫

Article (table) 
_______________ 
id | name 

在CSV的第一個字段是id字段,第二個字段是名稱。我想通過根據CSV中的id字段更新名稱字段來更新文章表格。有人可以幫我寫一個MySQL查詢來做這件事嗎?

回答

1
CSV.open('file_path.csv', 'r').each do |row| 
    article = Article.find_by_id(row[0]) 

    article.update_attribute(:name, row[1]) if article 
end 

我用find_by_id,因爲它如果沒有找到返回nil,而find返回異常的ActiveRecord :: recordNotFound。