2017-01-01 61 views
1

所以我有一个PlayerNames的数组在我需要保存的特定'部落'中,所以当我加载服务器时,它将遍历所有条目。试图通过MySQL正确保存/加载数组

这是我目前有 MySQL表

enter image description here

不知道我会放了“一班人”基本上是我想要的是UUID的存储阵列我有。它可以出来作为一个字符串,但我只需要他们能够存储像

成员:UUID,UUID,UUID,UUID

我知道如何建立连接,ResultSet和语句部分,我只是不知道如何让MySQL知道我试图将这些成员列表保存为一个数组。任何帮助将不胜感激,我道歉,如果我做错了什么。

+0

你的形象是不工作 – Aaron

+0

欢迎SO。 请阅读[我可以问哪些主题](http://stackoverflow.com/help/on-topic) 和[如何提出一个好问题](http://stackoverflow.com/help/how-to - 问) 和[完美的问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) 以及如何创建[最小,完整和可验证的例子] (http://stackoverflow.com/help/mcve) – RiggsFolly

+0

我相信这是网站,我只是通过stackoverflow上传图片。 – Eggspurt

回答

0

这里的问题在于你的数据结构。这不是Normalized,其中RDBMS被设计用于存储规范化的数据。如果数据正常化,所有创建/更新/删除/检索操作变得更容易。

要正常化表格,您需要停止将成员标识与CSV存储在同一列中。

的钢表应

uuid 
title 
kills 

我假设你已经有一个成员表,它看起来像

uuid 
member_name 

然后,你需要一个新的表名为gang_members

gang_id 
member_id 

并在这两列创建一个唯一的索引。

另见https://stackoverflow.com/a/41215681/267540Is storing a delimited list in a database column really that bad?https://stackoverflow.com/a/41305027/267540

+0

感谢这个煽动这是有道理的,所以在我的代码中,我应该使某种方式为每个创建和启动的团伙提供ID,检查MySQL DB中的所有成员是否具有-1这意味着他们没有。并将它们添加到对象的方式? – Eggspurt

+0

是的,这是关于它的。当你插入一个新的项目时,mysql会给你所知道的LAST_INSERT_ID,这使得在其他表格中创建相关条目变得容易 – e4c5