Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przekazywanie nazwy kolumny jako parametru w funkcji przechowywanej mysql

Z twoim podejściem jest kilka problemów. Przede wszystkim nie możesz użyć argumentu wartość aby odwołać się do podstawowej kolumny. Dobrą rzeczą jest to, że możesz użyć Przygotowane oświadczenia jako obejście tego.

Drugim problemem jest to, że funkcje MySQL nie pozwalają na użycie przygotowanych instrukcji. Aby obejść to ograniczenie, musisz zamiast tego użyć Procedury składowane. Jako przykład:

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. Jak zdobyć certyfikaty Amazon MySQL RDS

  2. Automatyczne importowanie danych z mysql do solr

  3. Nie można połączyć się z Google Cloud SQL w MySql Workbench

  4. Podany klucz był za długi; maksymalna długość klucza to 767 bajtów Błąd Mysql w Entity Framework 6

  5. Cofanie MySQL w transakcji