我有一个数组,我正在尝试加载到SQL语句中.当我编译SQL语句并包含数组时,它还将[]括号放入字符串中,我需要删除它们才能将其插入到我的数据库中.
这是我的代码:
i = 0
while i < rows.length
sql = "INSERT INTO my_table VALUES(#{rows[i]})"
puts sql
end
Run Code Online (Sandbox Code Playgroud)
当前输出:
INSERT INTO my_table VALUES(["value 1", "value 2", "value 3"])
Run Code Online (Sandbox Code Playgroud)
期望的输出:
INSERT INTO my_table VALUES("value 1", "value 2", "value 3")
Run Code Online (Sandbox Code Playgroud)
使用inspect和join:
sql = "INSERT INTO my_table VALUES(#{rows[i].map{|x| x.inspect}.join(', ')})"
Run Code Online (Sandbox Code Playgroud)
map 在数组的每个元素上调用一个块,然后将该元素设置为块的返回值inspect将字符串转换为其表示形式(如"the string"(带引号))join 把它们放在一起,中间用分隔符| 归档时间: |
|
| 查看次数: |
6831 次 |
| 最近记录: |