我正在将 Ruby on Rails 与 ActiveRecord 和 PostgreSQL 一起使用。
如何执行多个 sql 查询?
我需要它来运行自定义迁移脚本,例如:
Foo.connection.execute <<-SQL.split(';').map(&:strip).join
delete from metadata where record_type = 'Foo';
TRUNCATE table1 RESTART IDENTITY;
TRUNCATE table2 RESTART IDENTITY;
delete from schema_migrations where version > '20120806120823';
SQL
我不接受来自用户的数据,所以我不担心 sql-injection。
CLIENT_MULTI_STATEMENTS
可能是在 MySQL 中的东西?
来自 MySQL/PHP 文档:
CLIENT_MULTI_STATEMENTS:告诉服务器客户端可以在一个字符串中发送多个语句(用“;”分隔)。如果未设置此标志,则禁用多语句执行。有关此标志的更多信息,请参阅此表后面的注释。