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

Chuyển tên cột làm tham số trong hàm lưu trữ mysql

Có một số vấn đề với cách tiếp cận của bạn. Trước hết, bạn không thể sử dụng đối số giá trị của mình để tham chiếu cột bên dưới. Điều tốt là bạn có thể sử dụng Câu lệnh chuẩn bị như một giải pháp cho việc này.

Vấn đề thứ hai là các hàm MySQL không cho phép sử dụng các Câu lệnh chuẩn bị. Để giải quyết hạn chế đó, thay vào đó bạn cần sử dụng Thủ tục đã lưu trữ. Ví dụ:

CREATE PROCEDURE test_func (IN col1 varchar(100), OUT res int)
BEGIN

SET @s=CONCAT('SELECT ',col1,' INTO @res FROM yourtable WHERE id=1');
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

SELECT @res INTO res;

END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP / MySQL:Chọn các vị trí gần với một vị trí nhất định từ DB

  2. Có một truy vấn duy nhất có thể cập nhật số thứ tự trên nhiều nhóm không?

  3. LIKE lệnh Mysql

  4. PHP - Azure mySQL trong ứng dụng được thay đổi cổng ngẫu nhiên

  5. PDO Câu lệnh soạn sẵn Bên trong một lớp