Phần giữ chỗ (tức là $1
, $2
, ...) dành cho các giá trị. Tên cơ sở dữ liệu (hoặc tên bảng, tên cột, ...) là một định danh. Điều này tương tự như sự khác biệt giữa tên biến và giá trị mà biến đó giữ trong Ruby.
Nếu bạn cần tự động chèn một số nhận dạng trong một số SQL thì bạn cần sử dụng phép nội suy chuỗi và mục đích đặc biệt quote_ident
để đảm bảo rằng bạn trích dẫn nó một cách chính xác. Vì vậy, một cái gì đó giống như thế này:
db_name = conn.quote_ident(db_name)
res = conn.exec("CREATE DATABASE #{db_name}")