2017-06-19 71 views
0

我在mysql服務器中有兩個表:user和user_reviews。在user_reviews中,我有用戶所做的評論,並且在此用戶表中,我(當然)有一個名爲「user_id」的列,它與「user」表中的用戶標識相關。這是一個外鍵。從mysql中的另一個表中導入列

我使用phpmyadmin來讀取user_reviews表的數據,有時我需要更正一些東西(東西被拼錯......),我只需單擊一個表格單元格並使用phpmyadmin輕鬆編輯該單元格的內容。

但在phpmyadmin我只能看到「user_id」號碼。我怎樣才能看到「用戶」表中的其他數據?例如,能夠在「user_reviews」表中看到「user_name」會更容易。我知道我可以使用MYSQL命令將「user」表中的id與「users_reviews」表中的「user_id」相匹配。但是我失去了在phpmyadmin的界面中編輯數據的能力。

那麼,當我創建一個表時,是否可以運行一些mysql命令,以便創建一個從另一個表中導入數據並顯示它的列?

+0

用適當的格式更新您的問題 –

+0

不,您必須告訴IT在外鍵中使用哪個鍵。否則,這將是猜測工作 – RiggsFolly

+0

你應該創建自己的管理GUI,可以使用簡單的連接顯示名稱而不是ID,但仍然存儲底層ID值,以便啓用更新數據庫。你所要求的是反規範化,這可能是一種有用的**優化**技術,但爲了管理簡單的東西應該避免。 – Shadow

回答

0

看來,在phpMyadmin你可以通過加入2個表來完成。像這樣的東西「SELECT r。*,u.username FROM user_reviews r LEFT JOIN user u on r.user_id = u.id;」但是您將收到關於編輯行的警告「當前選擇不包含唯一列。網格編輯,複選框,編輯,複製和刪除功能不可用。」

通過遵循警告(https://docs.phpmyadmin.net/en/latest/config.html#cfg_RowActionLinksWithoutUnique)中的幫助鏈接,phpMyAdmin文檔說您可以通過將以下配置$ cfg ['RowActionLinksWithoutUnique']設置爲true來啓用編輯。

該文檔還添加了一條關於它的警告 「在沒有唯一鍵的情況下使用行操作可能會導致不同/更多行受到影響,因爲沒有確保的方式來選擇確切的行。

看起來,相同的配置將允許您也編輯視圖。

+0

非常感謝我的朋友!我試圖接受你的答案,但它不標記爲已提示。如果它仍然無法正常工作,我會在稍後嘗試接受它? – Samul

相關問題