我正在尝试插入远程 mysql 数据库。我能够正确连接并且可以从中查询“选择”没有问题。但是,我无法在可以从中选择的同一个表中执行插入操作。我怀疑它与我的绑定有关,但这与我用来让 sqlite3 工作的方法几乎相同,我认为它使用相同的 Arel 插入。
@result = @db.query("insert into lead_to_processes (case_number, style_of_case) values (?,?)", [
self.case_number.to_blob.force_encoding("UTF-8"),
self.style_of_case.to_blob.force_encoding("UTF-8")
]
)
最终目标是能够从模型内部查询远程数据库并将数据插入其中。我尝试过使用 Octopus,但效果不佳,因为表与数据库不同。
我对该用户拥有数据库的完全权限。
因此,按照评论的指导,我更改了语法并得到了不同的错误
Mysql2::Error: 你的 SQL 语法有错误;
但是我现在正在做这样的查询
@db = Mysql2::Client.new(connectionstring)
@case_number = @db.escape(self.case_number)
@style_of_case = @db.escape(self.style_of_case)
@db.query("insert into lead_to_processes (case_number, style_of_case) VALUES
(#{@case_number}, #{@style_of_case})
有什么想法或指导吗?我也试过用 '' 封装我要插入的变量