开发人员创建了一个利用视图的MySQL数据库。在他离开项目之后,我尝试使用phpMyAdmin在生产服务器(共享主机)上导入数据库,并在视图上扼杀。
如何使用视图导入SQL?
答案 0 :(得分:3)
视图应仅作为“创建”查询转储。视图中的数据不应该被转储/加载,因为它只是基础表中任何内容的重复。
答案 1 :(得分:0)
据我所知,phpMyAdmin不会尝试解释您在SQL命令表单中键入的任何代码(或从文件导入时)。它只是将命令传递给MySQL。
确保您的MySQL版本为5.0或更高版本,因为它仅支持此版本以来的视图。发布错误消息。
答案 2 :(得分:0)
我可以在phpMyAdmin中看到一个选项,导出一个没有视图数据的整个数据库。 我能找到的唯一解决方法是从表选择器中排除“视图”,然后单独导出每个视图。 然后我可以导入主转储 - 它返回给我我的表,然后导入每个导出的创建视图sql文件。 当然,它必须比这更容易吗?
答案 3 :(得分:0)
好的 - 我已根据我的情况解决了这个问题。 阅读PMA错误页面,结果发现我正在使用的旧版PMA的导出例程中存在一个错误。 解决方案:更新PMA。 (很简单,检查您的MySQL和PHP是否兼容,获取最新版本并将文件复制到您现有的phpMyAdmin文件夹。如果您愿意,请重新启动。)
对于原始问题: 导出的sql文件创建不正确。在编辑器中打开它,搜索:
INSERT INTO your view name
(Fields...
)VALUES
并为每个错误导出的视图删除整个块。 现在检查你有最新版本的PMA并在破坏之前重新导出它: - )