2010-01-12 47 views
1

我正在使用Ruby mysql模块。从MySQL中获取列标题名称导致Ruby

我想打印出查询的结果并包含列名。我无法找到方法给我一个这些名称的数组。我有如下所示的值。

结果= my.query( “SELECT * FROM富”)

result.each做|行| puts row.join(',')end

感谢您的帮助!

回答

2

result.fetch_fields.each_with_index do |info, i| 
     printf "--- Column %d (%s) ---\n", i, info.name 
     printf "table:   %s\n", info.table 
     printf "def:    %s\n", info.def 
     printf "type:    %s\n", info.type 
     printf "length:   %s\n", info.length 
     printf "max_length:  %s\n", info.max_length 
     printf "flags:   %s\n", info.flags 
     printf "decimals:   %s\n", info.decimals 
    end 
+0

这工作。谢谢。 – Poul 2010-01-17 04:44:59

+0

因为这篇文章我们已经切换到我们的mysql查询的ruby续集gem,并且对它非常满意:http://sequel.rubyforge.org/documentation.html – Poul 2013-02-14 22:32:50

0

这可能不会直接回答您的问题,但您可能会从检出数据库抽象层中受益。 Ruby有几个,最值得注意的是ActiveRecord。 ActiveRecord作为Ruby on Rails框架的模型组件捆绑在一起,但您可以在没有Rails其余部分的情况下“独立”使用它。由于它提供了宝贵的工具来与数据库进行通信 - 你将花费大量时间开发自己的工具,有了它(或类似的东西),你将能够更加快速和准确地创建应用程序。如果您选择将数据库供应商从MySQL更改为其他类型(例如PostgreSQL或Oracle),则不必重新编码。