PHP MYSQL - много данных в одном столбце - PullRequest
0 голосов
/ 15 ноября 2008

Мне нужно хранить 100-200 данных в mysql, данные, которые будут разделены трубами.

есть идеи, как хранить его на MySQL? использовать один столбец или сделать несколько столбцов? Я не знаю точно, сколько данных будут вводить пользователи.

Я сделал форму, она остановилась в той части, где нужно хранить несколько данных.

Кто-нибудь знает, как хранить несколько данных в одном столбце, или есть альтернативный способ?

пожалуйста, помогите мне ..

большое спасибо

Ответы [ 3 ]

4 голосов
/ 15 ноября 2008

Вы должны реализовать свою таблицу с идентификатором для источника данных. Этот идентификатор будет использоваться для группировки всех этих фрагментов схожих данных, поэтому вам не нужно заранее знать, сколько у вас их.

Ваши столбцы таблицы и данные могут быть настроены так:

sourceID        data
--------        ----
       1         100
       1         200
       1         300
       2         100
       3         100
       3         200

Когда вы запрашиваете базу данных, вы можете просто извлечь все данные с одним и тем же sourceID. С данными выше, следующий запрос вернет две части данных.

SELECT data
FROM dataTable
WHERE sourceID = 3

Если у вас есть несколько таблиц, вам необходимо связать их друг с другом, используя синтаксис JOIN. Допустим, у вас есть основная таблица с пользовательскими данными, и вы хотите связать все эти входные данные с каждым пользователем.

userID    userName    otherData
------    --------    ---------
     1         Bob          xyz
     2         Jim          abc
     3         Sue        lmnop

Если вы хотите объединить данные из этой таблицы (userTable) с данными из dataTable, используйте такой запрос:

SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1

Этот запрос выдаст вам все данные для пользователя с идентификатором 1. Это предполагает, что sourceID в вашей таблице данных использует userID из таблицы user, чтобы отслеживать, кому принадлежат дополнительные данные.

Обратите внимание, что это не единственный синтаксис JOIN в SQL. Вы можете узнать о других типах соединений здесь .

1 голос
/ 15 ноября 2008

Похоже, вам нужен стол для соединения. Соберите в обеих таблицах только те данные, которые вам нужны, создайте третью таблицу с идентификатором обеих таблиц, тогда не имеет значения, нужно ли вам 100, 200, 300 или более.

1 голос
/ 15 ноября 2008

Если у вас есть форма, откуда поступают эти данные, сохраняйте каждый вход из вашей формы в отдельном столбце.

Ищите связи в ваших данных: звучит так, как будто у вас есть отношение «имеет много», которое указывает на то, что вы можете захотеть таблицу связывания, где вы могли бы сделать простой запрос соединения ...

Хранение нескольких данных в одном столбце станет кошмаром для запросов и обновлений, если вы не храните XML, событие, тогда это вызовет у меня кошмары ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...