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

JDBC PreparedStatement dẫn đến lỗi cú pháp MySQL

Trong hầu hết các cơ sở dữ liệu, bạn không thể tham số hóa tên đối tượng như tên bảng, trong MySQL về mặt lý thuyết, bạn có thể làm MySQL Connector / J theo mặc định không sử dụng các tham số phía máy chủ mà thay vào đó nó viết lại truy vấn trước khi gửi đến máy chủ. Tuy nhiên, giá trị sẽ được chèn dưới dạng một chuỗi được trích dẫn và tên đối tượng không thể là một chuỗi được trích dẫn, vì vậy nó vẫn sẽ không hoạt động.

Vì vậy, INSERT INTO ? hoặc SELECT ... FROM ? sẽ không hoạt động, vì nó tạo ra INSERT INTO 'theTable' hoặc SELECT ... FROM 'theTable' .

Tên đối tượng cần phải là một phần của truy vấn thực tế. Không sử dụng các tham số cho chúng. Hầu hết các cơ sở dữ liệu khác (hoặc trình điều khiển của chúng) sẽ có một ngoại lệ khi có một tham số ở vị trí này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python3.4 không thể cài đặt mysql-python

  2. Làm cách nào để liên kết một bảng với nhiều bảng khác nhau?

  3. java.sql.SQLException:Chỉ mục cột nằm ngoài phạm vi, 0 <1

  4. MySQL TRÊN CẬP NHẬT KHÓA DUPLICATE cho nhiều hàng chèn trong một truy vấn

  5. Cách tìm nạp trường từ kết quả truy vấn MySQL trong bash