PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chèn đúng tên bảng

Bất kỳ thư viện tốt nào cũng phải cung cấp lối thoát thích hợp cho các tên SQL, bao gồm:

  • tên giản đồ
  • tên bảng
  • tên cột

Ví dụ:trong pg-promise, bạn sẽ sử dụng nó như thế này:

db.query("INSERT INTO $1~ VALUES ($2, $3, $4)", [table_name, value_a, value_b, value_c])

tức là bạn có được tên bảng của mình thoát đúng cách bằng cách thêm biến bằng ~ , do đó làm cho nó an toàn trước SQL injection.

Từ đây, một cách thoát đơn giản cho các tên bảng được thư viện thực thi:

return '"' + name.replace(/"/g, '""') + '"';

Xem thêm:Tên SQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phá hủy một Postgres DB trên Heroku

  2. Chuyển đổi loại. Tôi phải làm gì với giá trị PostgreSQL OID trong libpq trong C?

  3. Cấp quyền cho người dùng đối với bất kỳ bảng mới nào được tạo trong postgresql

  4. Tham chiếu đến các biến phiên (\ set var ='value') từ PL / PGSQL

  5. Làm cách nào để thay đổi cột PG thành NULLABLE TRUE?