我如何在mysql中对tarantool执行请求?

时间:2016-03-23 12:17:18

标签: tarantool

我需要从tarantool中选择所有数据来自一个空格的两个值。 我如何在mysql中对tarantool执行请求?

select from aaa where a=1a22cadbdb or a=7f626e0123

现在我可以提出两个请求:

box.space.logs:select({'1a22cadbdb'})
box.space.logs:select({'7f626e0123'})

但我不知道如何将结果合并为一个;(

3 个答案:

答案 0 :(得分:2)

以下代码合并字段[0]到lua表

a = box.space.logs:select({'1a22cadbdb'})
b = box.space.logs:select({'7f626e0123'})
c = { field_1 = a[0], field_2 = b[0] }

选择返回元组或元组,以便您可以通过[]。

提取值

有关选择的更多详细信息:http://tarantool.org/doc/book/box/box_index.html?highlight=select#lua-function.index_object.select

有关元组的更多详细信息:http://tarantool.org/doc/book/box/box_tuple.html?highlight=tuple#lua-module.box.tuple

答案 1 :(得分:1)

现在,Tarantool允许您通过SQL进行检索,例如box.execute([[从“ aaa”中选择,其中“ a” ='1a22cadbdb'或“ a” ='7f626e0123';]])。您必须先使用format()函数添加aaa的字段名称和类型。

答案 2 :(得分:-1)

对我来说这项工作很好,但需要从第一次选择中检查退货:

local res = {}
for k, v in pairs (box.space.email:select({email})[1]) do
    if type(v) == 'string' then
        table.insert(res, box.space.logs:select({v})[1])
    end
end