2017-01-01 2 views
1

Итак, у меня есть массив имен игроков, которые находятся в определенном «клане», который мне нужно сохранить, поэтому, когда я загружаю сервер, он будет перебирать все записи.Попытка правильно сохранить/загрузить массив через 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 -ask) И [идеальный вопрос] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) И как создать [Минимальный, полный и проверяемый пример] (http://stackoverflow.com/help/mcve) – RiggsFolly

+0

Я считаю, что это сайт, я просто загрузил картинку через stackoverflow. – Eggspurt

ответ

0

Проблема здесь в вашей структуре данных. Это не Normalized где RDBMS предназначены для хранения нормализованных данных. Все операции Create/Update/Delete/Retrieve становятся намного проще, если данные нормализуются.

Чтобы нормализовать ваши таблицы, вам необходимо прекратить хранить идентификаторы элементов в том же столбце, что и CSV.

Таблица Gang должна

uuid 
title 
kills 

Я предполагаю, что у вас уже есть таблица членов, и это выглядит как

uuid 
member_name 

Затем вам нужно новую таблицу под названием gang_members

gang_id 
member_id 

И создайте уникальный индекс на этих двух столбцах.

Также см https://stackoverflow.com/a/41215681/267540, Is storing a delimited list in a database column really that bad? и https://stackoverflow.com/a/41305027/267540

+0

Спасибо, что это имеет смысл, поэтому в моем коде я должен сделать какой-то способ дать идентификаторы каждой созданной банде и при запуске проверить всех членов в БД MySQL для их идентификатора клана, если они имеют один -1 то есть они этого не делают. И добавить их к объекту таким образом? – Eggspurt

+0

да, taht об этом. Когда вы вставляете новый элемент, mysql дает вам то, что известно как LAST_INSERT_ID, что упрощает создание связанных записей в других таблицах – e4c5

Смежные вопросы