sql >> Databasteknik >  >> RDS >> Mysql

mysql-fältnamn från variabel

Om strängen finns i din externa applikation (som PHP), säker, konstruera bara MySQL-satsen.

Om strängen finns inuti en MySQL-tabell kan du inte. MySQL har ingen eval() eller en sådan funktion. Följande är omöjligt:

Anta att du har en tabell queries med ett fält columnname som hänvisar till ett av kolumnnamnen i tabellen mytable . Det kan finnas ytterligare kolumner i queries som låter dig välja columnname du vill.

INSERT INTO queries  (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable

Du kan dock arbeta med FÖRBÄTTDA UTTALANDEN a> . Var medveten om att detta är väldigt hackigt.

SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);

PREPARE stmt FROM @s;
EXECUTE stmt;


  1. Hur Exp()-funktionen fungerar i PostgreSQL

  2. Hur man ändrar kolumner eller genererar Alter-skript genom att använda GUI i SQL Server - SQL Server / T-SQL självstudie del 38

  3. Förstå kolumnalias i Select Query i SQL Server - SQL Server / TSQL självstudie del 115

  4. JSON_ARRAYAGG() – Skapa en JSON-array från raderna i en fråga i MySQL