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

Làm cách nào để chuyển đổi tham số ràng buộc kiểu MySQL dấu hỏi `?` Thành tham số ràng buộc kiểu Postgres `$ 1`

KHÔNG. Và không có sự tương ứng trực tiếp giữa ?$1 cú pháp, vì cái sau ngụ ý sử dụng lại tham số, trong khi ? không cho phép nó. Ví dụ:sử dụng ? ? ? ngụ ý rằng bạn có 3 tham số định dạng, trong khi $1 $2 $2 ngụ ý rằng bạn có hai tham số định dạng.

Không có khả năng, vì không có thư từ trực tiếp, việc chuyển đổi chỉ có thể xảy ra một chiều, điều này sẽ làm cho một tiện ích như vậy khá vô dụng. Bạn có thể tự thay thế mọi thứ, bằng một biểu thức chính quy, thay thế từng ? với $ + index + 1 .

Bạn không thực sự có nhiều lựa chọn trong việc này. Nó phải được thực hiện. Ngoài ra, $1 có cách nào linh hoạt hơn ? , do việc sử dụng lại thông số, cộng với các tiện ích mở rộng tùy chọn. Ví dụ: pg-promise mở rộng chúng rất độc đáo, với các công cụ sửa đổi định dạng khác nhau thường xuyên cần thiết:^ , ~ , :json , :csv , v.v. ...

Bạn có thể sẽ dành ít thời gian hơn để chuyển đổi SQL bằng tay, so với thời gian để viết tiện ích cho việc chuyển đổi thích hợp một chiều.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn MySQL không được chèn khi biến PHP chứa dấu nháy đơn

  2. Lưu trữ dữ liệu của hộp văn bản đa dạng thức vào cơ sở dữ liệu với định dạng

  3. Multi_Curl với các giá trị từ cột mysql

  4. Sự cố với biến trả về trong bash

  5. Perl DBI fetchall_hashref