当我使用 mysqldump 并重新导入转储时, View 变为空表。
可以吗
a) 转储然后导入 View 而不将它们变成空表?
或者,如果 a 是不可能的,
b) 使用通配符从 mysqldump 中排除 View ,例如
mysqldump mydb --ignore-table=*views > mydb.sql
要排除所有 View ,如果所有 View 的名称都以字符串“views”结尾? (此部分之前已被问到但仍未得到答复:Ignore 'views' in mysql db backup using mysqldump)
最佳答案
使用--compact --add-drop-table
然后手动调整转储文件。
详细信息:
--紧凑
产生更紧凑的输出。此选项启用 --skip-add-drop-table、--skip-add-locks、--skip-comments、--skip-disable-keys 和 --skip-set-charset
选项。
注意:
在 MySQL 5.1.21 之前,如果数据库转储包含 View ,则此选项不会创建有效的 SQL。重新创建 View 需要创建和删除临时表,此选项禁止删除这些临时表。解决方法是将 --compact 与 --add-drop-table 选项一起使用,然后手动调整转储文件。
关于mysql - 是否可以使用 mysqldump 转储和导入 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116529/