使用者自訂資料表中的欄位

來源:互聯網
上載者:User
有一個需求,比如客戶上傳以前的excel表格或者csv檔案,匯入使用者表,是使用者資訊,包括以下列:暱稱,城市,生日,訂單號,手機號等,

但在我們的系統中,現有的使用者表的欄位只有暱稱,城市等,沒有生日,訂單號,手機號等欄位。

能否讓客戶上傳檔案時,讀取表格檔案並建立一張表,儲存本來使用者表中沒有的欄位資訊?

或是把本來沒有的欄位資訊序列化後存入原使用者表中的一個特定欄位?在前台呈現時,格式化這個特定欄位並顯示?

哪種可行性更高呢,或是有其他辦法?

回複內容:

有一個需求,比如客戶上傳以前的excel表格或者csv檔案,匯入使用者表,是使用者資訊,包括以下列:暱稱,城市,生日,訂單號,手機號等,

但在我們的系統中,現有的使用者表的欄位只有暱稱,城市等,沒有生日,訂單號,手機號等欄位。

能否讓客戶上傳檔案時,讀取表格檔案並建立一張表,儲存本來使用者表中沒有的欄位資訊?

或是把本來沒有的欄位資訊序列化後存入原使用者表中的一個特定欄位?在前台呈現時,格式化這個特定欄位並顯示?

哪種可行性更高呢,或是有其他辦法?

如果自訂的欄位沒有排序,檢索方面的需求,還是建議用大欄位吧,把非標準欄位的資料全部以JSON或數組序列化的格式存到一個大欄位中,需要展示的時候再做格式化輸出就好了。

如果有排序或檢索需求,則可能需要結合一些開源的索引軟體比如Apache Lucene來實現了,看具體需求吧。

還有另外一種方式,代碼邏輯上可能稍微複雜一點,儲存效率也會很低,其實不大建議,但是如果你不是海量資料的話,問題也不大。方法就是建立一張欄位足夠多的表(user_data),欄位命名都採用通用命名方式比如“column1,column2“等,然後專門建立一個表做使用者的資料欄位對應(user_data_columns),格式如下:

| uid | name | field |
| 101 | 生日 | column1 |
| 101 | 手機號 | column5 |

需要使用的時候,先到user_data_columns表中把相應的欄位名和表的欄位讀取出來,然後到user_data表中去取相應列的資料。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.