使用 ruby 转义 Postgresql hstore 类型?
escaping Postgresql hstore type with ruby?
我在 rails (pg gem) 中使用 postgresql 类型的 hstore。我需要的是在很多行中大量插入 hstore 值,所以我想制作 SQL 字符串。
但是我在pg中找不到hstore的引用方法gem(我觉得应该有)
我是不是遗漏了什么,还是我应该自己写这个引用方法?
我可能会使用 hstore(text, text)
and hstore(text[], text[])
functions instead of trying to build the string versions. Combine those with the array constructor 语法,而您只会处理字符串文字。例如,如果您的 hstore
是单个键和值,则:
insert into your_table (hstore_column)
values (hstore('key', 'value'))
会工作并在 hstore_column
中给你 "key"=>"value"
;如果您的 hstore
有多对那么:
insert into your_table (hstore_column)
values (hstore(array['key1', 'key2', 'key3'], array['value1, 'value2', 'value3']))
会在 hstore_column
中给你 "key1"=>"value1","key2"=>"value2","key3"=>"value3"
。
我怀疑调用函数的开销与解析字符串版本的开销会有很大不同。
我在 rails (pg gem) 中使用 postgresql 类型的 hstore。我需要的是在很多行中大量插入 hstore 值,所以我想制作 SQL 字符串。
但是我在pg中找不到hstore的引用方法gem(我觉得应该有)
我是不是遗漏了什么,还是我应该自己写这个引用方法?
我可能会使用 hstore(text, text)
and hstore(text[], text[])
functions instead of trying to build the string versions. Combine those with the array constructor 语法,而您只会处理字符串文字。例如,如果您的 hstore
是单个键和值,则:
insert into your_table (hstore_column)
values (hstore('key', 'value'))
会工作并在 hstore_column
中给你 "key"=>"value"
;如果您的 hstore
有多对那么:
insert into your_table (hstore_column)
values (hstore(array['key1', 'key2', 'key3'], array['value1, 'value2', 'value3']))
会在 hstore_column
中给你 "key1"=>"value1","key2"=>"value2","key3"=>"value3"
。
我怀疑调用函数的开销与解析字符串版本的开销会有很大不同。