mysql - 是否可以使用 mysqldump 转储和导入 View ?

标签 mysql view mysqldump

当我使用 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/

相关文章:

Mysql - 三表查询

php - 将两个单独的图像存储在mysql表中的两个单独的单元格中

c# - 替换为 Html.BeginForm()

Spring Boot MVC,没有返回我的观点

mysql - 如何在不锁定的情况下转储 MySQL 中的单个表?

mysql - 如何将 mysqldump 与本地主机 :3307? 一起使用

php - MYSQL中将DELETE语句重写为SELECT语句

mysql - 如何用通配符比较同一张表中的2条记录?

android - fragment 和旋转屏幕问题

mysql - 转储具有限制和所有关联的一个数据库表的最佳方法