ruby - 如何在 Ruby Sequel 任意 sql 运行中查找列名

标签 ruby sequel

<分区>

我正在使用 Ruby Sequel DB.run 运行任意 sql。我想找出数据集的列名。

在 Ruby Sequel 中有可能吗?

最佳答案

您能否提供一个最小的工作示例(一个代码示例来查看您想要什么,如果可能的话不需要)?

我猜你在做什么:

require 'sequel'

db = Sequel.sqlite()
db.create_table(:test){
  field :x1
  field :x2
}
db[:test].insert(1,2)
p db.run('select * from test') #->nil

如果你不使用 run 而使用 [] 你会得到另一个结果:

p db['select * from test']  #-> #<Sequel::SQLite::Dataset: "select * from test">

基于此解决方案,您可以使用 来获取字段:

p db['select * from test'].columns  #->[:x1, :x2]
p db['select x1 from test'].columns  #->[:x1]

关于ruby - 如何在 Ruby Sequel 任意 sql 运行中查找列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20958211/

相关文章:

ruby - 如何在 Ruby 中获取多行用户输入?

ruby-on-rails - 如何在 jbuilder View 中返回空字符串而不是 null?

ruby - 如何检查文件是否存在

ruby - 如何在没有原始 SQL 的情况下使用 Sequel 编写 PostgreSQL 查询?

ruby - 有没有办法查看 Sequel 表达式将生成的原始 SQL?

ruby - Sequel 中的存储过程返回代码 (Ruby ORM)

ruby-on-rails - 如何获取谷歌搜索结果链接并使用 mechanize 将它们存储在数组中

ruby-on-rails - 没有路由匹配 [POST] "/login/log_in"

ruby - Sequel ORM 的等效 DB 创建命令是什么?

ruby - 如何在此 PostgreSQL 数据集中找到每年两个类别的总和?