我有两个表:members
和members_data
。
他们都共享相同的唯一自动增量id
密钥和唯一username
字段。两个MySQL表的合并和别名
我想这两个表合并成一个members
表,但我使用members
& members_data
引用〜50个脚本。我还需要某种别名设置,以使我的members_data
查询指向新的members
表。
这可能吗?
我有两个表:members
和members_data
。
他们都共享相同的唯一自动增量id
密钥和唯一username
字段。两个MySQL表的合并和别名
我想这两个表合并成一个members
表,但我使用members
& members_data
引用〜50个脚本。我还需要某种别名设置,以使我的members_data
查询指向新的members
表。
这可能吗?
您可以通过创建一个只从另一个表中执行SELECT *的视图来有效地将表别名到另一个表。然而,这是不是一个好做的事:
然而,取决于它是多么容易测试这些“50个脚本”,以及如何批判他们(提示:非常关键的代码难以测试可以把有效发展的真正制动器),创建视图在短期内可能是一件务实的事情(而且短期解决方案通常会在实际应用中保持多年或永远不变)。
我强烈建议您在任何可行的情况下更改“50脚本”并执行所有必要的测试以发布此类更改。在我们的团队中,我们进行了修改(单个版本),这些修改比“50个脚本”更多,但测试当然证明具有挑战性(或至少耗时)。
随着应用程序变得越来越大和越来越复杂,回归测试变得越来越困难。尽可能多地考虑它至关重要,因为重构将变得必要(假设应用程序得到开发或维护),并且因为回归是不好的。
**当然,您的所有表格,视图等都是脚本化的,并在源代码管理系统中!
它们都共享相同的唯一自动增量ID键和唯一的用户名字段。
这句话是没有意义的gobbledy-gook。 MySQL中没有办法(或者两个表可以共享列的大多数rDBMS)。
我怀疑你的问题可能有几个可能的答案,但没有看到实际的模式很难说。
假设您确实意味着两个表都有一个用户名字段,它在这两个表中都是唯一的且大小相同,并且这两个表都有一个名为id的自动增量列,那么情况会更加清晰 - 在这种情况下创建一个实现两个基础表的列的组合表,将数据迁移到其中并将两个原始表替换为视图。
C.
从我刚刚阅读我不能使用视图,因为它不会在更新查询(我会需要更新members_data实际上更新成员后,我已经删除表)。我想我必须改变脚本,因为它表示视图并未优化,而且我不能长时间保留这些脚本! 感谢您的帮助 – Juddling
您应该能够更新视图,除非它以更新没有意义的方式定义。 “SELECT * from t”视图应该没问题。 – MarkR