在 MySQL2 gem 中使用准备好的语句?

2024-02-26

如何创建准备好的语句insert and selectMySQL 中的查询?我正在使用 MySQL2 gem,我的连接对象如下所示:

 con = Mysql2::Client.new(:host => "#{ENV['DB_HOST']}", :port => '3306', :username => "#{ENV['DB_UNAME']}", :password => "#{ENV['DB_PWD']}", :database => 'dbname')

不幸的是,mysql2 gem 还没有准备好的语句支持。贡献者计划在不久的将来添加这样的功能,正如我们在 Pull Request 讨论中看到的那样:

https://github.com/brianmario/mysql2/pull/289 https://github.com/brianmario/mysql2/pull/289

If you must如果您的应用程序中有准备好的语句,我建议您阅读 Sequel,它对准备好的语句和绑定变量有非常好的支持:

https://github.com/jeremyevans/sequel https://github.com/jeremyevans/sequel

http://sequel.jeremyevans.net/rdoc/files/doc/prepared_statements_rdoc.html http://sequel.jeremyevans.net/rdoc/files/doc/prepared_statements_rdoc.html

UPDATE

正如@lulalala 所提到的,从版本开始0.4.0 MySQL2 宝石 https://github.com/brianmario/mysql2支持准备好的语句:

statement = @client.prepare("SELECT * FROM users WHERE login_count = ?")
result1 = statement.execute(1) # Binds the value 1 to the placeholder 
result2 = statement.execute(2) # Binds the value 2 to the placeholder

statement = @client.prepare("SELECT * FROM users WHERE last_login >= ? AND location LIKE ?")
result = statement.execute(1, "CA") # Binds 1 and 'CA' to the placeholders, respectively

我希望这有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MySQL2 gem 中使用准备好的语句? 的相关文章

  • 为什么 Chrome Devtools 中的 Ruby 文件 (.erb) 无法使用语法高亮显示?

    根据本新闻稿 Chrome 开发者工具可以对多种语言进行语法高亮显示 包括 erb 文件 https plus google com GoogleChromeDevelopers posts MnikfMyJ14X https plus g
  • 捆绑包 - 从另一台电脑复制粘贴宝石

    我正在尝试设置 Rails 应用程序 该应用程序依赖于大量的宝石 宝石已预先安装在vendor gems我从朋友那里获得的副本的文件夹 现在 考虑到那些闭源宝石的不可用性 bundle install path home umang pro
  • 使用 Ruby CSV 标头转换器

    假设我有以下课程 class Buyer lt ActiveRecord Base attr accesible first name last name 以及 CSV 文件中的以下内容 First Name Last Name John
  • 新手:我的例子中的文本替换

    In my 红宝石 on Rails应用程序中 我的助手中有一个方法 它通过以下方式打开文件 content File open myfile txt The 文件内容就好像 my car my seat my age my son my
  • Java:使用PreparedStatement将多行插入MySQL

    我想使用 Java 一次将多行插入 MySQL 表中 行数是动态的 过去我在做 for String element array myStatement setString 1 element 0 myStatement setString
  • 如何在 Rails 2.3.5 中从模型渲染部分

    我有一个 Rails 2 3 5 应用程序 我试图从模型中渲染几个部分 我知道 我知道 我不应该这样做 我这样做的原因是我将 Comet 服务器 APE 集成到我的 Rails 应用程序中 并且需要根据模型的事件 例如 after crea
  • Capybara 2.0 和 rspec-rails -- 助手在规范/功能中不起作用

    我正在尝试使用辅助模块中的方法 但 rspec 似乎无法识别辅助程序以进行测试spec features 请注意 唯一的更改是spec helper rb正在添加require capybara rspec 我尝试移动helper rb t
  • 向 Rails 应用程序中的内置类添加方法

    我想向 Rails 应用程序中的 Array 类添加一个方法 我应该把这个方法放在哪里 编辑得更清楚 显然我把它放在某个文件中 但是我如何告诉 Rails 应用程序在哪里可以找到它 执行此操作的一种方法是在以下位置创建一个文件lib rai
  • ActiveSupport::TimeWithZone#to_date 返回错误日期

    我想要以下实例的日期部分ActiveSupport TimeWithZone 我用了to date函数 但它返回前一天的日期 例如 如果日期时间是2012 04 11 09 05 00 UTC 如果我打电话to date然后它返回2012
  • 如何使用 WHERE x IN 子句编写PreparedStatement 的SQL?

    我有一个如下所示的查询 SELECT last name first name middle initial FROM names WHERE last name IN smith jones brown 我需要能够对 IN 子句中的列表进
  • 如何在 .js 中的字符串中插入来自 ruby​​ 示例的变量[重复]

    这个问题在这里已经有答案了 在 ruby 中 您可以将变量插入到字符串中 如下所示 x sake puts I like x I like sake 例如 def what i like word I like word end 在 jav
  • 在 Ruby 中跨多个类实例记忆数据的好方法是什么?

    考虑 生成数据的对象的许多实例 如果每次运行只生成一次该数据 那就太好了 class HighOfNPeriods lt Indicator def generate data indicator data DataStream new 0
  • gets、gets.chomp 和 gets.chomp 之间的区别!?

    这三者有什么区别 gets 它得到一行带有 n gets chomp 它得到一行 但删除 n 那是对的吗 关于什么gets chomp gets http www ruby doc org core 2 1 0 Kernel html me
  • Mongoid - 同一外域的两个域的逆

    我试图让以下 Mongoid 关系发挥作用 但每个团队的游戏字段都是一个空数组 这不是一个有效的关系模型吗 我是否需要分开比赛 即主场比赛和客场比赛 class Team include Mongoid Document has many
  • Ruby 未绑定方法:是否可以强制绑定到其他类的实例?

    我想知道我是否可以强迫这种情况发生 class A def bomb bomb end end class B end bomb A instance method bomb b B new bomb bind b 目前它抛出错误 Type
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 如何在 Rails 控制器中调用通道方法?

    我有一个订阅用户的 ActionCable 方法 如果启动新的 convo 我也希望用户订阅新频道 我无法找出在控制器中调用通道方法的正确语法 更新 问题是消息在发送时附加到聊天框 但是当发送第一条消息时 Websocket 连接尚未建立
  • 可以覆盖/实现的 ruby​​ 运算符列表

    是否有可以覆盖的所有 ruby 运算符的列表 不是那些不能的 Here s Ruby 运算符表 http phrogz net programmingruby language html table 18 4 方法和可重载的有 Elemen
  • 在私有控制器方法中返回redirect_to

    前言 我正在使用设备进行身份验证 我试图阻止未经授权的用户查看 编辑或更新其他用户的信息 我最关心的是用户将 DOM 中的表单修改为另一个用户的 ID 填写表单 然后单击更新 我已经专门阅读过 像下面这样的东西应该有效 但事实并非如此 SO
  • 通过推送通知唤醒

    Suppose 有一些对象 例如 一个数组a 和依赖于对象的条件 例如 a empty 当前线程以外的某些线程可以操作该对象 a 因此条件评估值的真实性会随着时间的推移而变化 如何让当前线程在代码中的某个时刻休眠 并在条件满足时通过推送通知

随机推荐

  • 优化编译器中的常量组合

    我有一个包含许多小型内联函数的头文件 他们中的大多数碰巧拥有恒定的数据 由于这些函数对性能至关重要 因此它们处理常量的方式变得很重要 AFAIK 有两种方法来引用常量 1 在稍后与应用程序链接的单独源文件中定义它们 2 就地定义常量 我会选
  • Powershell 转换为 Json 格式错误

    我正在使用 win shell 将 powershell 输出转换为 json 格式 以便稍后可以对其进行过滤 问题是我的 Json 格式很糟糕 这是代码 win shell Get ChildItem Path
  • Java FileWriter如何写入下一行

    我使用下面的代码将记录写入文件 记录可以写入文件中 但附加在一行中 每次我调用此方法示例 你好世界你好世界你好世界你好世界 如何修改代码 使输出如下所示 以便在读取文本时我可以使用 line hasNextLine 进行检查 你好世界你好世
  • 最新的(开源)聊天机器人/假人工智能?

    开源聊天机器人 假人工智能 技术 的最新进展是什么 ELIZA ALICE MegaHAL 仍然是 当前 吗 或者在过去十年中是否取得了任何进展 ChatScript 是我发现的用于开发会话代理的最佳开源工具 BSD 许可证 https g
  • 动态添加内容到面板

    可能是我的 javascript 能力不够 我正在尝试将列表 通过 javascript 添加项目 动态增强到 jquery 移动面板 下面的代码是该功能的工作 非工作 示例 完整的项目会有点太多的开销 并且您需要一些串行连接的设备来运行它
  • 未来 F# 是否有可能比其他 .Net 语言得到更多优化?

    Microsoft 是否有可能使 F 程序在 VM 执行时或更可能在编译时检测到程序是使用函数式语言构建的并自动更好地并行化它 现在我相信没有这样的努力来尝试和自动执行作为单线程程序构建的程序作为多线程程序 也就是说 开发人员将编写一个单线
  • 对自定义对象的向量进行排序

    我正在尝试在 java 中对 Vector 进行排序 但我的 Vector 不是 int 向量 它是对象向量 对象是 public MyObject numObj 0 price new Price pax new Pax 所以我有一个Ve
  • CodeRush 中自动添加 `using`

    我刚刚安装了 Visual Studio 的 CodeRush Pro 评估试用版 到目前为止我可以说我非常喜欢它 与 Resharper 相比 我真正缺少的只是一种功能 这就是 CodeRush 处理的方式using 当我输入一些未在 u
  • NextJs 错误的解决方案是什么:“标题元素收到一个包含超过 1 个元素作为子元素的数组。”

    创建一个组件来包装每个页面并希望接收每个页面的子级和标题会引发错误 标题元素收到一个包含超过 1 个元素作为子元素的数组 import Head from next head interface IProps children JSX El
  • Angular 2 - 通过路由器链路将对象从一个组件发送到另一个组件

    我试图通过路由器链路以角度 2 发送一个对象 我为人员数组人员中的每个人员对象创建一个人员配置文件组件 并将它们显示在屏幕上 div div
  • 捆绑组件的 currentinstance 值为 null

    Version 3 0 0 beta 18 复制链接 https github com anandkumarram vue3lib https github com anandkumarram vue3lib https github co
  • 在 Zend Framework 2 中处理 M-N 关系

    在 beta4 和最新的 beta5 中 DB 功能实现似乎已经基本完成 有几个教程如何使用 TableGateway 模式处理单个数据库 但似乎没有用于处理 M N 关系的教程 在 ZF1 中我们有findDependantRowset
  • 如何在 Roblox Studio 中优化 If 语句的过度使用

    此代码的目标是在 5 个预设位置之一随机生成一个球 GlowyBall 当玩家点击按钮时 该脚本就会激活 球还需要随机生成 3 种颜色中的一种 该代码在大部分情况下都有效 但在优化该代码时我遇到了困难 我不知道应该甚至可以使用哪种数据类型来
  • jQuery 使用数据库的 ajax 从元素中删除 ID 并刷新

    你好 目前我正在尝试使用 jQuery 来使用 ajax 获取多个字段的 id 并发送数据以通过 php 删除它 到目前为止 我能够删除该项目 但无法删除其他 id 例如 我有一个 for 循环 它将从数据库中获取信息 for i 0 i
  • 如何阻止用户在我的网站上水平滚动

    这是网站 http joshnh com http joshnh com 基本上 我有一些超宽的元素 这样它们看起来就像是从屏幕的右侧出来的 然后我正在使用overflow x hidden 在主体上隐藏溢出 但这并不能阻止页面在用户使用触
  • 解析不带引号的键的 JSON

    据我所知 在 JSON 中 键应该用双引号引起来 但是 我使用的数据源没有引用它们 这导致 Ruby JSON 解析器引发错误 有没有办法执行 非严格 解析 Example gt gt JSON parse name hello age 2
  • 如何将带有 unsigned char* 的结构从 C# 传递到 C++?

    我有一些C dll带有结构描述和一些方法 struct MSG STRUCT unsigned long dataSize unsigned char data 和功能例如 unsigned long ReadMsg unsigned lo
  • Vue js动态添加属性不响应

    我有一个组件显示有一个名为obj obj有两个属性 obj title and obj body 每个都绑定到一个文本字段 以便具有反应性和可编辑性 div div
  • 如何在 C# 中截取 Winforms 控件/表单的屏幕截图?

    我有一个listviewwinforms 窗体上的控件 它填满了整个屏幕 但其中的项目超出了屏幕可以显示的范围 如何截取整个控件的屏幕截图 就好像我可以显示控件的全部内容一样listview在屏幕上 所以如果整个listview需要 100
  • 在 MySQL2 gem 中使用准备好的语句?

    如何创建准备好的语句insert and selectMySQL 中的查询 我正在使用 MySQL2 gem 我的连接对象如下所示 con Mysql2 Client new host gt ENV DB HOST port gt 3306