Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从CSV批量更新MySQL数据库_Mysql_Ruby On Rails_Mysql Workbench - Fatal编程技术网

从CSV批量更新MySQL数据库

从CSV批量更新MySQL数据库,mysql,ruby-on-rails,mysql-workbench,Mysql,Ruby On Rails,Mysql Workbench,我刚刚在我的Rails应用程序中添加了一个新字段,它使用MySQL数据库。我有一个CSV,其中包含表中已有记录的新字段(名称)的值 Article (table) _______________ id | name CSV的第一个字段是id字段,第二个字段是名称。我想通过基于CSV中的id字段更新name字段来更新Article表。有人能帮我写一个MySQL查询吗 CSV.open('file_path.csv', 'r').each do |row| article = Article.

我刚刚在我的Rails应用程序中添加了一个新字段,它使用MySQL数据库。我有一个CSV,其中包含表中已有记录的新字段(名称)的值

Article (table)
_______________
id | name
CSV的第一个字段是id字段,第二个字段是名称。我想通过基于CSV中的id字段更新name字段来更新Article表。有人能帮我写一个MySQL查询吗

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\u by\u id
,因为如果未找到任何内容,它将返回
nil
,而
find
将返回异常ActiveRecord::recordNotFound