【问题标题】:Which ruby mysql library supports prepared statements and last id retrival哪个 ruby​​ mysql 库支持准备好的语句和最后的 id 检索
【发布时间】:2012-10-03 18:15:07
【问题描述】:

我从 mysql 库开始了我的 ruby​​ 项目,它已经准备好了我非常喜欢的语句。然后我发现它没有优雅的方法来获取我插入的记录的 id,所以我切换到具有此功能但它没有准备好的语句的 mysql2 库,我必须在查询数据库之前转义我的所有值.

那么有没有一个 ruby​​ 的 mysql 库支持准备好的语句和检索最后插入记录的 id?

【问题讨论】:

  • mysql gem 有一个insert_id 方法,这不是你需要的吗?
  • 你是对的,就是这样。我怎么可能没有在文档中看到它。谢谢。
  • 将 mysql 和 mysql2 文档称为“无用”将是慷慨的 :)
  • 请注意,mysql2 缺少准备好的语句是有充分理由的:如果您手动转义值并使用 Ruby 的字符串插值,它实际上比使用准备好的语句更快。如果你使用 Rails,你甚至可以使用标准的预处理语句语法,它会自动进行转义。
  • 我想写不安全的代码是可以的,只要它“更快”!

标签: mysql ruby


【解决方案1】:

mysql gem (https://github.com/luislavena/mysql-gem) 支持服务器端准备好的语句,但它没有得到积极维护并且已被弃用。

Swift mysql 适配器 (https://github.com/deepfryed/swift-db-mysql) 提供类似的功能,但不支持 ActiveRecord。我是作者,我积极地将它用于生产应用程序。 如果您需要支持 swift-db-mysql 的 ORM,我建议您使用 Sequel 或更轻量级的 Swift 对象映射器 (https://github.com/shanna/swift)

希望有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 2011-09-16
    • 2020-01-30
    • 2013-09-24
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多