[英]Merge and Alias of two MySQL tables
我有兩個表: members
和members_data
。
它們都共享相同的唯一自動增量id
鍵和唯一的username
段。
我想這兩個表合並為一個members
表中, 但我有〜50個使用腳本members
及members_data
引用。 我還需要某種別名設置,以使members_data
查詢指向新的members
表。
這可能嗎?
您可以通過創建僅對另一個表執行SELECT *的視圖來有效地將一個表別名為另一個表。 但是,這不是一件好事:
但是,取決於測試這“ 50個腳本”的難易程度和關鍵程度(提示:很難測試的非常關鍵的代碼可能會阻礙有效的開發),因此創建視圖可能是一種務實的做法短期內是可行的(短期解決方案通常會在實際應用中保留數年,甚至永遠存在)。
如果可能的話,我敦促您更改“ 50個腳本”並進行所有必要的測試以發布此類更改。 在我們的團隊中,我們進行了一些更改(在一個發行版中),這些更改對“ 50個腳本”進行了許多修改,但是測試當然證明具有挑戰性(或至少很耗時)。
隨着應用程序變得越來越大和越來越復雜,回歸測試變得越來越困難。 盡可能多地考慮它是至關重要的,因為重構將是必要的(假設應用程序已全部開發或維護),並且回歸很差。
**當然,您所有的表,視圖等均已編寫腳本,並在源代碼管理系統中!
它們都共享相同的唯一自動增量ID鍵和唯一的用戶名字段。
這句話毫無意義。 在MySQL中(或大多數rDBMS中)兩個表無法共享列。
我懷疑您的問題可能有幾個答案,但沒有看到實際的模式就很難說出來。
假設您真的是說兩個表都具有一個唯一的用戶名字段,並且兩個表中的大小都相同,並且兩個表都有一個名為id的自動遞增列,那么情況就更清楚了-在這種情況下,創建一個復合表實現兩個基礎表中的列,將數據遷移到其中,並用視圖替換2個原始表。
C。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.