DB から抽出されたレシピを反復処理し、各レシピから材料を解析して、材料を独自のテーブルに挿入しようとしています。問題は、現在の成分変数を内部選択に含める方法がわからないことです:現在、次のエラーが発生しています:
ExtractIngredients.rb:21:「クエリ」内:「フィールド リスト」内の不明な列「ing」(Mysql::エラー)
select ステートメントに "ing" を含める方法を教えてください。
ありがとう、リー
begin
db = Mysql.new 'localhost', 'root', 'pass', 'recs'
results = db.query "SELECT id, freeText FROM recipes"
nRows = results.num_rows
for i in 0..nRows-1
curRow = results.fetch_row
recipeInd = curRow[0]
recipeFreeText = curRow[1]
ingredients = getIngredients(recipeFreeText).to_s.scan(/\'(\w+)\'/).flatten
ingredients.each do |ing|
db = Mysql.new 'localhost', 'root', 'pass', 'recs'
# In the next awful select statement I'm trying to insert the current ingredient to the ingredient table if it isn't already there
db.query "INSERT INTO ingredient(name, created_at, updated_at) SELECT ing, created_at, updated_at FROM dummytable WHERE (SELECT count(*) FROM ingredient WHERE Name = ing)=0"
ingInd = db.query "SELECT id FROM ingredient WHERE name=ing"
db.query "INSERT INTO ingredients_recipes(ingredient_id, recipe_id) ingInd, recipeInd"
end
end
end