Mysql 如何从表1中检索列值并将其保存在表2中';谁的专栏?
表1:Mysql 如何从表1中检索列值并将其保存在表2中';谁的专栏?,mysql,ruby,csv,activerecord,rubygems,Mysql,Ruby,Csv,Activerecord,Rubygems,表1: ID | Name | Address 1 | prakash | 2-107, NY 2 | rakesh | 2-109/a, NY 表2: emp_ID| Name | Designation ? | Prakash | Software Developer ? | Rakesh | Software Tester 通过使用表2中的Name列,我需要从表1中获取id并将其放入表2中 require 'csv' load 'dbco
ID | Name | Address
1 | prakash | 2-107, NY
2 | rakesh | 2-109/a, NY
表2:
emp_ID| Name | Designation
? | Prakash | Software Developer
? | Rakesh | Software Tester
通过使用表2中的Name列,我需要从表1中获取id并将其放入表2中
require 'csv'
load 'dbconnection.rb'
require 'activerecord'
class Employee<ActiveRecord::Base
end
class Designation<ActiveRecord::Base
end
#Employee Table Data Insertion
CSV.foreach("C:/Users/modi/Desktop/employee.csv") do |row|
Employee.create!(
# ID will be auto increement
:name => row[0],
:address => row[1],
)
end
#Designation Table Data Insertion
CSV.foreach('C:/Users/modi/Desktop/designation.csv') do |row|
Designation.create!(
:Emp_id #Here we need to get the id value from the Employee Table
:name => row[0],
:designation=>row[1]
)
end
需要“csv”
加载“dbconnection.rb”
需要“activerecord”
类别员工行[1],
)
结束
#指定表数据插入
CSV.foreach('C:/Users/modi/Desktop/designation.CSV')do|行|
创造!(
:Emp_id#这里我们需要从Employee表中获取id值
:name=>第[0]行,
:名称=>第[1]行
)
结束
假设员工
不包含大量数据,您可以执行以下操作:
employees = Employee.all
CSV.foreach('C:/Users/modi/Desktop/designation.csv') do |row|
Designation.create!(
:Emp_id => employees.detect { |emp| emp.name == row[0] }.id # handle nil case
:name => row[0],
:designation=>row[1]
)
end
你的csv文件有标题吗?不,我不使用@shivam只是为了澄清,它们都是
csv.foreach
同一文件的一部分吗?给我推荐一些链接和书籍,让我从初学者改为程序员我自己也是一名学习者。我能给你的最好建议就是继续写代码,在遇到困难时用谷歌搜索