ActiveRecord :: Base.connection.execute的受影响的行

亚历克斯·古蒂

对于Rails 4.1.1,使用mysql2适配器:

我正在使用ActiveRecordconnection在MySQL表中执行多次插入:

ActiveRecord::Base.connection.execute %Q{
    INSERT INTO table (`user_id`, `item_id`) 
    SELECT 1, id FROM items WHERE items.condition IS NOT NULL
}

这样可以很好地完成工作并返回nil

有没有一种方法来获取受影响的行数(避免执行另一个查询)

我发现该execute方法的文档有些稀疏。

软胶

您可以使用connection.update执行表达式并返回受影响的行数的方法。

ActiveRecord::Base.connection
  .update("INSERT INTO accounts (`name`) VALUES ('first'), ('second')")

=> 2

轨v4.2.7 DOC - http://api.rubyonrails.org/v4.2.7/classes/ActiveRecord/ConnectionAdapters/DatabaseStatements.html#method-i-update

Rails最新文档-http: //api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/DatabaseStatements.html#method-i-update

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ActiveRecord :: Base.connection.execute(sql)。每个都不返回数据

来自分类Dev

使用ActiveRecord :: Base.connection的正确方法

来自分类Dev

使用ActiveRecord :: Base.connection返回哈希而不是数组

来自分类Dev

ActiveRecord :: Base.connection.table_structure(“ <表名>”)的Rails控制台抛出错误

来自分类Dev

ActiveRecord::Base.establish_connection 连接到错误的数据库

来自分类Dev

扩展ActiveRecord :: Base

来自分类Dev

扩展ActiveRecord :: Base

来自分类Dev

覆盖ActiveRecord :: Base

来自分类Dev

如何成功继承ActiveRecord :: Base?

来自分类Dev

如何传递ActiveRecord :: Base类的哈希值

来自分类Dev

将变量添加到ActiveRecord :: Base

来自分类Dev

扩展ActiveRecord :: Base无法正常工作

来自分类Dev

在模型之间共享ActiveRecord :: Base枚举

来自分类Dev

MySQL INSERT显示受影响的行多于受影响的行

来自分类Dev

如何从psycopg2 connection.commit()获得受影响的行数?

来自分类Dev

VBA-ADODB.Connection-使用参数并检索记录受影响的计数

来自分类Dev

kohana data base connection error

来自分类Dev

在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

来自分类Dev

在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

来自分类Dev

如何使用mysqli获得受影响的行?

来自分类Dev

Mongo更新后获取受影响的行

来自分类Dev

内部联接行不受影响

来自分类Dev

SQLite3-返回受影响的行

来自分类Dev

MySQL 更新返回 0 行受影响

来自分类Dev

BULK INSERT 0 行受影响

来自分类Dev

从另一个类和ActiveRecord :: Base继承

来自分类Dev

为什么Rails 5使用ApplicationRecord而不是ActiveRecord :: Base?

来自分类Dev

Sidekiq安装-未初始化的常数ActiveRecord :: Base(NameError)

来自分类Dev

调用“ ActiveRecord :: Base.create”时,如何调用“创建”?

Related 相关文章

  1. 1

    ActiveRecord :: Base.connection.execute(sql)。每个都不返回数据

  2. 2

    使用ActiveRecord :: Base.connection的正确方法

  3. 3

    使用ActiveRecord :: Base.connection返回哈希而不是数组

  4. 4

    ActiveRecord :: Base.connection.table_structure(“ <表名>”)的Rails控制台抛出错误

  5. 5

    ActiveRecord::Base.establish_connection 连接到错误的数据库

  6. 6

    扩展ActiveRecord :: Base

  7. 7

    扩展ActiveRecord :: Base

  8. 8

    覆盖ActiveRecord :: Base

  9. 9

    如何成功继承ActiveRecord :: Base?

  10. 10

    如何传递ActiveRecord :: Base类的哈希值

  11. 11

    将变量添加到ActiveRecord :: Base

  12. 12

    扩展ActiveRecord :: Base无法正常工作

  13. 13

    在模型之间共享ActiveRecord :: Base枚举

  14. 14

    MySQL INSERT显示受影响的行多于受影响的行

  15. 15

    如何从psycopg2 connection.commit()获得受影响的行数?

  16. 16

    VBA-ADODB.Connection-使用参数并检索记录受影响的计数

  17. 17

    kohana data base connection error

  18. 18

    在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

  19. 19

    在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

  20. 20

    如何使用mysqli获得受影响的行?

  21. 21

    Mongo更新后获取受影响的行

  22. 22

    内部联接行不受影响

  23. 23

    SQLite3-返回受影响的行

  24. 24

    MySQL 更新返回 0 行受影响

  25. 25

    BULK INSERT 0 行受影响

  26. 26

    从另一个类和ActiveRecord :: Base继承

  27. 27

    为什么Rails 5使用ApplicationRecord而不是ActiveRecord :: Base?

  28. 28

    Sidekiq安装-未初始化的常数ActiveRecord :: Base(NameError)

  29. 29

    调用“ ActiveRecord :: Base.create”时,如何调用“创建”?

热门标签

归档