Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

nome do campo mysql da variável


Se a string estiver em seu aplicativo externo (como PHP), claro, apenas construa a instrução MySQL.

Se a string estiver dentro de uma tabela MySQL, você não poderá. MySQL não tem eval() ou tal função. O seguinte é impossível:

Suponha que você tenha uma tabela queries com um campo columnname que se refere a um dos nomes de coluna na tabela mytable . Pode haver colunas adicionais em queries que permitem que você selecione o columnname você quer.
INSERT INTO queries  (columname) VALUES ("name")
SELECT (select columnname from queries) from mytable

No entanto, você pode trabalhar com DECLARAÇÕES PREPARADAS . Esteja ciente de que isso é muito hacky.
SELECT columnname from queries into @colname;
SET @table = 'mytable';
SET @s = CONCAT('SELECT ',@colname,' FROM ', @table);

PREPARE stmt FROM @s;
EXECUTE stmt;