0
我已经设置MySQL的变量:的MySQL变量(USE语句)
SET @test = 'my_db';
select @test;
然后
use @test
ERROR 1049 (42000): Unknown database '@test'
OR
mysql> SET @test = 'my_db';
Query OK, 0 rows affected (0.00 sec)
mysql> select @test;
+-------+
| @test |
+-------+
| my_db |
+-------+
1 row in set (0.00 sec)
mysql> use @test
ERROR 1049 (42000): Unknown database '@test'
我怎么能在MySQL中使用的变量值与使用用途声明?
谢谢你选择在应用程序代码的数据库!为你的时间! –
我可以通过调用my_proc“调用updater_db(@test)”来使用它吗? –
当然,但你只是将问题推出一步,因为你不能在存储过程中执行'USE @ test'。在纯MySQL中最接近的是做类似'CONCAT('SELECT * FROM',@test,'.tablename')',然后准备这个语句。您需要为需要引用数据库的每条语句执行此操作,并处理不使用“USE”时出现的日志记录和复制问题。 –