【问题标题】:Mulitiple row insert in SequelSql中的多行插入
【发布时间】:2020-05-10 00:28:48
【问题描述】:

是否可以在 Sequel 中插入多行,如何插入? 谁能给我解释一下?

我尝试过这样的事情:

DB[:table].insert([:x, :y], [[1, 2], [3, 4]])

但是没有用。

【问题讨论】:

    标签: ruby sequel


    【解决方案1】:

    您可以使用Dataset#multi_insert

    虽然文档描述它发出两个INSERTs,但似乎只发出一个具有多个值的INSERT,至少对于PostgreSQL来说是这样。

    >> DB[:table].multi_insert([{x:1,y:2}, {x:3,y:4}])
    INSERT INTO "table" ("x", "y") VALUES (1, 2), (3, 4)
    

    【讨论】:

      【解决方案2】:

      如果你想使用值数组([[1, 2], [3, 4]])进行插入,而不是列数组,值哈希([{x:1,y:2}, {x:3,y:4}]),你可以使用Dataset#import

      > DB[:test].import([:x, :y], [[1, 2], [3, 4]])
      # => ["INSERT INTO `test` (`x`, `y`) VALUES (1, 2), (3, 4)"]
      

      【讨论】:

        猜你喜欢
        • 2012-09-04
        • 1970-01-01
        • 2015-10-20
        • 1970-01-01
        • 2017-12-20
        • 1970-01-01
        • 2017-02-01
        • 1970-01-01
        相关资源
        最近更新 更多