我將如何去存儲一行中的引用數組?例如,如果我要製作一個在線交易紙牌遊戲,我會有一張包含所有紙牌的牌桌,每個玩家都有一個牌組,由ID參考列表表示。MySQL - 在每一行中存儲引用數組
回答
我會爲此做一個單獨的關係表,其中card_owner_id
和card_id
作爲字段。相應地設置外鍵以在卡或用戶被刪除時自動刪除關係。
所以我會用'SELECT * FROM cards WHERE card_id =(SELECT card_id FROM user_cards WHERE card_owner_id = $ user_id)'來獲取用戶的卡片? – nkorth 2011-03-31 17:19:05
你可以使用一個連接來獲取它們:'SELECT c。* FROM cards AS c LEFT JOIN user_cards AS uc ON(uc.card_id = c.id AND uc.card_owner_id = $ user_id)''。 – Kaivosukeltaja 2011-03-31 17:39:26
如何爲玩家提供一張桌子,一張用於卡片,另一張用於卡片(鏈接playerId和cardId)?
兩個解決方案:
- 序列化你的PHP數組,並將其存儲到你的表的二進制領域。設計你的數據庫,以便你可以表示這樣一種關係:「一個玩家有幾張牌」:玩家(player_id);卡(card_id,player_id)
每個玩家可能在「玩家」表中有一排;並且每一行都可能有一個字段用於所有可能的卡片中的每一個;並且這些單元中的每一個都可能被標記爲真或假,以表示玩家擁有或不擁有所涉及的卡。
會這樣嗎?你認爲呢?
- 皮特
請不要在SO上簽名。 – 2011-03-31 14:50:35
我以爲有一個固定的甲板大小,並在用戶表中有很多字段,但這真的看起來效率低下。 – nkorth 2011-03-31 17:43:02
- 1. 在MySQL中存儲數組?
- 2. PHP每行創建一個新的數組MYSQL Info,並將數組存儲在一個數組中
- 3. 數組索引存儲在新數組
- 4. 在mysql中爲表的每一行存儲多個日期?
- 5. 在MySQL中存儲二進制數組
- 6. 將數組存儲在MySQL表中
- 7. 將索引存儲在數組中
- 8. 在每個循環後存儲數組
- 9. 你如何在mysql中存儲多行和列數組
- 10. 每次調用函數時都不要執行存儲在數組中的jQuery
- 11. 在另一個數據庫中引用存儲過程?
- 12. 將文本文件中的每行存儲到數組中
- 13. 創建一個數組,其中每個元素存儲其索引
- 14. 如何將一組布爾值存儲在MySql數據庫中?
- 15. 在MySQL中存儲數據
- 16. 在MySql中獲取存儲引擎
- 17. 使用二維數組在mysql中存儲數據
- 18. php 2d數組...將mysql結果存儲在2d數組中
- 19. 通過引用傳遞/存儲數組?
- 20. 如何在MySQL中每隔一天也分組行數?
- 21. 在一個單獨的數組中排序數組和存儲索引
- 22. 將結果集中的每一行存儲爲數組中的對象
- 23. 如何使用PHP和MySQL在MySQL數據庫中存儲數組數據?
- 24. 在存儲函數中返回數組
- 25. 使用sails.js在mysql中存儲數據
- 26. 在blob存儲中引用數據
- 27. 如何在asp.net中存儲每個Treenode的唯一索引?
- 28. 在c中存儲引用#
- 29. 將圖像名稱一個一個地存儲或作爲mysql數組中的數組存儲?
- 30. 使用VBA在MySQL Blob中存儲字節數組
你動心存儲值的數組在數據庫中的一列,閃爍的紅燈和電喇叭應該在你的頭上去了,警告你,你的數據庫設計需要的任何時間更好的標準化。 – 2011-03-31 14:42:20
@Christopher - 你意識到問題出在數據庫設計上,而不是實際上將關係數據庫系統中的語言結構存儲起來? – 2011-03-31 14:46:50
@Mickael,我確實相信我太快地閱讀了這個問題,而我的大腦卻在一條相切線上;我的錯。 – Christopher 2011-03-31 14:50:38