说我有一个续集表达式,如:
db.select(:id).from(:some_table).where(:foo => 5)
Run Code Online (Sandbox Code Playgroud)
有没有办法获得这将生成的SQL字符串(即"SELECT id FROM some_table WHERE foo = 5")?我注意到调用inspect或to_s上面的表达式的结果包括生成的SQL,但不知道如何直接访问它.
那些不返回数据集的Sequel表达式如何:
db.from(:some_table).update(:foo => 5)
Run Code Online (Sandbox Code Playgroud)
是否可以在执行之前从中查看SQL?
mec*_*ish 27
您可以调用sql数据集:
db.select(:id).from(:some_table).where(:foo => 5).sql # => "SELECT `id` FROM `some_table` WHERE (`foo` = 5)"
Run Code Online (Sandbox Code Playgroud)
对于更新查询,您可以这样做:
db.from(:some_table).update_sql(:foo => 5) # => "UPDATE `some_table` SET `foo` = 5"
Run Code Online (Sandbox Code Playgroud)
一些类似的有用方法:
insert_sql
delete_sql
truncate_sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4760 次 |
| 最近记录: |