一尘不染

变量数据库名称

mysql

MySQL中有什么方法可以将数据库名称放入变量中?例如,当我有一个名为“ db1”的数据库时,可以执行以下操作:

set @db= 'db1';
select * from @db.mytable;

编辑:还有一个我想做的例子:

set @dbfrom= 'db1';
set @dbto= 'db2';
insert into @dbto.mytable (col1,col2,col3) select col2,col1,col3 from @dbfrom.mytable;

阅读 398

收藏
2020-05-17

共1个答案

一尘不染

付出了很大的努力,是的。

SET @db = 'db1';
SET @q = CONCAT('SELECT * FROM ', @db, '.mycol');
PREPARE stmt FROM @q;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
2020-05-17