【发布时间】:2012-10-12 09:48:13
【问题描述】:
我正在使用此处找到的 Ruby 的 mysql2 gem: https://github.com/brianmario/mysql2
我有以下代码:
client = Mysql2::Client.new(
:host => dbhost,
:port => dbport, :database => dbname,
:username => dbuser,
:password => dbpass)
sql = "SELECT column1, column2, column3 FROM table WHERE id=#{id}"
res = client.query(sql, :as => :array)
p res # prints #<Mysql2::Result:0x007fa8e514b7d0>
上面的.query 调用是否有可能返回哈希数组,res 数组中的每个哈希都采用column => value 的格式。我可以手动执行此操作,但从文档中给我留下的印象是我可以将结果以上述格式直接加载到内存中。我需要这个,因为在那之后我无论如何都必须将结果编码为 json,所以我没有优势一一获取行。而且数据量总是很小。
【问题讨论】:
-
仅供参考:如果您碰巧使用 Rails,您可以使用
Rails.configuration.database_configuration[Rails.env]代替new的参数哈希。