MySQL - 视图:保存后定义更改?

Posted

技术标签:

【中文标题】MySQL - 视图:保存后定义更改?【英文标题】:MySQL - views : definition changes after saving? 【发布时间】:2011-02-22 20:33:55 【问题描述】:

当我在 mysql 数据库中创建一个视图并保存它时,整个代码都被修改了,所有代码都在 1 行,而我保存它时它在多行。 代码中还添加了很多括号。 这正常吗?

你如何编辑一个复杂的视图(带有一些连接),因为它实际上变得不可读?

【问题讨论】:

“保存”是什么意思?你能准确解释一下你在“保存”你的视图时做了什么吗? 我总是使用 Navicat 或类似的东西来做这些事情。我从不使用命令行。在这种数据库管理软件中,您可以轻松创建/编辑表和视图。问题是视图的定义在保存后会发生变化。很烦人... 【参考方案1】:

您可以将格式整齐的 SQL 代码与应用程序代码的其余部分一起存储在修订控制系统的文件中。然后,如果您需要修改视图,您可以查看最初用于创建视图的 SQL,对其进行修改,然后运行它以重新创建视图。您可以将修改后的 SQL 提交回您的存储库。

除了保留格式之外,这种方法的另一个优点是您可以跟踪对数据库代码的更改,就像使用普通代码一样。

【讨论】:

Okthanx....不是我希望听到的答案...为什么 MySQL 这样做,重写代码?!我遇到的问题是,我经常对查询进行很多更改,但是对于视图,我无法测试它们并在之后再编辑它们。【参考方案2】:

我遇到了同样的问题。 虽然这篇文章很旧,但我想它会帮助像我们这样的人:)

我在导入我的 sql 时遇到了这个问题。 然后我意识到导出的 sql 是一行丑陋的格式,有很多括号和东西。 (不可读)而不是在navicat 中输入的原始多行格式

我做了什么: 如果您想在您的数据库中导入/转储,请在您的 sql 脚本中制作多行格式。 所以默认是多行格式。 我的测试表明,当您单击保存时,视图的定义将始终恢复为原始格式。

【讨论】:

【参考方案3】:

您可以为初学者存储原始代码。 您还可以使用从数据库中获取视图代码并为您设置格式的工具。 我用SQLyog,我觉得效果很好。

【讨论】:

我用的是Navicat,它有一个美化SQL功能,但它并没有使它很漂亮,因为它使用了一行括号等。

以上是关于MySQL - 视图:保存后定义更改?的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 自定义类 - 更改子视图高度约束后重新加载单元格高度

如何防止自定义视图在屏幕方向更改时丢失状态

自定义 UIView(.xib) 在 UITableViewCell 中添加为子视图后自动更改框架

更改 uitableviewcell 中的自定义附件视图?

如何在显示android后更改自定义对话框中的视图的可见性

如何从自定义视图的类中更改文本视图