我正致力于重建遗留数据库及其相关应用程序。为了保持旧的和新的并行工作,我创建了一个开发数据库并将感兴趣的表复制到它,例如
create database devdb;
drop table if exists devdb.tab1;
CREATE TABLE devdb.tab1 like working.tab1;
insert into devdb.tab1 select * from working.tab1;
完成此操作后,我注意到影响tab1的触发器尚未被复制。有没有什么方法可以生成tab1的工作副本,即数据,权限,触发器,一切?
答案 0 :(得分:0)
有一种更快的方法来重新创建结构和导入数据(尽管你丢失了索引;)):
create table devdb.tab1 select * from working.tab1;
对于触发器和朋友,您必须在information_schemas中查询
答案 1 :(得分:0)
嗯,事后看来有点明显,但似乎通过mysqldump转储表并在新数据库中加载这些转储会恢复触发器(我希望其他任何相关信息)。
我很想通过DbVisualizer数据库管理器完成整个过程。你整天都在学习......
答案 2 :(得分:0)
请注意,“create table x select * from y”语法将不创建表的精确工作副本,即使您不关心触发器是什么。新表将: