Mysql
 sql >> Database >  >> RDS >> Mysql

nome del campo mysql dalla variabile

Se la stringa è nella tua applicazione esterna (come PHP), certo, costruisci semplicemente l'istruzione MySQL.

Se la stringa è all'interno di una tabella MySQL, non è possibile. MySQL non ha eval() o tale funzione. Quanto segue è impossibile:

Supponiamo di avere una tabella queries con un campo columnname che fa riferimento a uno dei nomi di colonna nella tabella mytable . Potrebbero esserci colonne aggiuntive in queries che ti permettono di selezionare il columnname vuoi.

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

Puoi comunque lavorare con DICHIARAZIONI PREPARATE . Tieni presente che è molto complicato.

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

PREPARE stmt FROM @s;
EXECUTE stmt;