簡體   English   中英

如何在ruby中向SQL查詢插入字符串數組

[英]how to insert an array of strings to sql query in ruby

我在ruby中有以下查詢:

  sql = "SELECT variants.id,
                      code,
                      regular_price,
                      price_before_sale
                FROM  variants
                WHERE variants.code IN (#{context.codes.join(",")})"

其中context.codes = ['PRDCT-1','PRDCT-2']

現在context.codes由於.join而成為sql查詢中的(PRDCT1,PRDCT2) ,但是我想發生的是('PRDCT1','PRDCT2')我想念的是什么?

EDI:我嘗試做(#{context.codes.join("','")})但返回(PRDCT1','PRDCT2)

不要那樣做 Bobby Tables在看着。 而是提供足夠數量的占位符:

sql = "SELECT variants.id,
                      code,
                      regular_price,
                      price_before_sale
                FROM  variants
                WHERE variants.code IN (#{context.codes.map { "?" }.join(",")})"

然后在語句參數中提供*context.codes

我知道了。 我在('#{context.codes.join("','")}')添加了單引號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM