sql >> Database >  >> RDS >> Mysql

mysql-veldnaam van variabele

Als de string in je externe applicatie staat (zoals PHP), maak dan gewoon het MySQL-statement.

Als de tekenreeks zich in een MySQL-tabel bevindt, kunt u dat niet. MySQL heeft geen eval() of een dergelijke functie. Het volgende is onmogelijk:

Stel dat u een tabel queries . heeft met een veld columnname die verwijst naar een van de kolomnamen in de tabel mytable . Er kunnen extra kolommen zijn in queries waarmee u de columnname . kunt selecteren je wilt.

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

U kunt echter werken met VOORBEREIDDE VERKLARINGEN . Houd er rekening mee dat dit erg hacky is.

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

PREPARE stmt FROM @s;
EXECUTE stmt;


  1. Oracle After Delete Trigger... Hoe te voorkomen dat de tabel muteert (ORA-04091)?

  2. Wat is de reden / het nut om het ENABLE-sleutelwoord te gebruiken in Oracle-database-instructies?

  3. 'datetime2'-fout bij gebruik van entiteitsframework in VS 2010 .net 4.0

  4. Hoe duur zijn impliciete conversies aan de kolomzijde?