[MySQL]什麼!?Current selection does not contain a unique column 這怎麼搞?

前兩天朋友傳來一則訊息, 說是使用 phpMyAdmin 時,想要匯出一批資料, 但卻碰上這樣的錯誤訊息: Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. phpMyAdmin message:Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. 錯誤訊息大致是說: 選擇的資料由於沒有唯一欄位(Unique Column),所以無法匯出/編輯/複製/刪除等等。 由於之前從 phpMyAdmin 匯出資料從來沒有碰上這樣錯誤, 也沒有見過這段錯誤訊息, 所以朋友有點緊張。 細問之後, 知道原來朋友是以 Left Join 語法, 合併兩個資料表,再匯出這個查詢結果, 自然這個合併查詢後的資料,是沒有主鍵欄位的, 於是出現了這個錯誤訊息。 如果其他朋友們也有遇上這樣的情境, 那麼可以試試看下面的作法:
  1. 完成了查詢之後,將頁面拉到最下面。
  2. 找到『Query results operations/查詢結果選項』。
  3. 點選這個選項最後一個功能:Create view/新增檢視表。
  4. 然後給這個檢視表一個名字(這邊我暫命名為:export join tables),在檢查一下As的欄位,裡面的查詢條件是不是都正確(他會自動沿用原來的查詢),然後按下GO! phpMyAdmin Create view
  5. 接著開啟這個新的檢視表,OK,我們可以匯出了 ^^ Export View
如果這個查詢是只使用一次的,那麼匯出完成後,就可以刪除這個檢視表, 若是之後時不時的還會用到, 也可以留著, 這個檢視表中的資料是會保持更新狀態的, 也就是說如果查詢資料有異動時, 下次匯出的時候,也是會維持最新的紀錄。 試試看吧 ^^