可以这样,在存储过程中 declare $var int; $var='column'; select $var from tb;
$sql="select $var from table";
MYSQL中不支持列名,表名为变量的。 只能在程序中,或者用prepare 来实现。
给一个存储过程的例子:delimiter // create procedure qry_field(row_name varchar(32)) label_proc: begin declare v_sql varchar(200); set v_sql=concat('select ',row_name,' from table_name'); set @sql=v_sql; prepare s1 from @sql; execute s1; deallocate prepare s1; end label_proc //
declare $var int;
$var='column';
select $var from tb;
create procedure qry_field(row_name varchar(32))
label_proc:
begin
declare v_sql varchar(200);
set v_sql=concat('select ',row_name,' from table_name');
set @sql=v_sql;
prepare s1 from @sql;
execute s1;
deallocate prepare s1;
end label_proc //