将数据库名称作为mySQL中的参数传递

问题描述 投票:0回答:1
 set @sourcedb = 'testdb1'   set @destinationdb = 'testdb2'  CREATE TABLE IF NOT EXISTS @destinationdb.Testtable Like @sourcedb.Testtable;

我已经尝试将一个表从一个数据库复制到另一个具有相同名称的数据库。如何通过数据库名称作为参数?

mysql database clone
1个回答
0
投票

我之前曾尝试过,但id无效。我不知道是否有办法。同时,我只是使用准备好的语句。请参阅下面的查询示例:

SET @ctable=CONCAT('CREATE TABLE ',CONCAT('testdb12.','testtable'),' LIKE testdb2.testtable'); 
PREPARE stmt FROM @ctable;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

现在,我真的不知道您的用法,但就我而言,我每月一次用它来创建一个新表。因此,我将此查询保存在一个文本文件中,使用批处理脚本来调用它,然后使用任务计划在每月的第1天执行它(是的,我使用的是Windows)。希望这可能是您想要的。

**我在这里的一个答案中找到了该解决方案,但我不记得/不收藏该解决方案。我想适当地相信这一点。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.