Multiple variables in one column?

Refresh

November 2018

Views

312 time

1

is it possible to have multiple variables in one column for when someone does a checkbox search? Let's say the checkboxes are like this:

Music to dance to: 1.Oldies 2.Reggae 3.pop 4.house

And let's say there's a table by the name of 'Events', and one of the columns is music. Can the column somehow contain let's say, 1,3,4 which would be searched for if someone selects checkboxes 1,3 or 4 it would return this row?

Thanks :)

5 answers

1

Вы должны смотреть на многие: многие структуры баз данных. У некоторых исследований, создать несколько таблиц, и дать ему шанс. Это одна из основных форм баз данных.

1

Положите музыку типа в отдельную таблицу и создать столбец и внешний ключ, указывающий от события к столу музыки типа. Тогда вы храните PK музыкальной таблицы в таблицу событий.

2

Если я вас правильно понимаю, нет, вы не можете иметь несколько значений в одном поле (по крайней мере, в здравом смысле).

Вы бы сделать это в отдельной таблице позволяет назвать это что - то вроде [events_genres] и будет иметь внешний ключ на вашем [События] таблицы первичного ключа , а другой внешний ключ на [] список таблицы первичного ключе.

Например :

[events_genres]
events_id    genre_id
1            1
1            2
1            3
2            3

events_idЯвляется идентификатором события в таблице [События] и genre_idявляется идентификатором жанра (Старыхи, Регги, PHP ...) в [] списке таблице.

4

То, что вы описываете многие-ко-многим. Это означает, что может быть много событий, и каждое событие может иметь несколько стилей музыки, охватываемую. С другой стороны, стиль музыки может быть представлен на многих мероприятиях.

Как правило, вы можете выразить эти виды отношений с хелперами столом и две различных таблиц для «Event» и «Music»: Предположите, «Событие» имеет первичный идентификатор ключа, и так же «Music», но нет столбца ни в одном ' Музыка»или„Событие“ссылки друг на друга. Вместо того, чтобы установить связь между ними, вы можете создать третью таблицу «Event_Music» с колоннами «event_id» и «music_id». Рассмотрим следующий пример:

Table Event

id | name
 1 | Event A
 2 | Event B
 3 | Event C


Table Music

id | style
 1 | oldies
 2 | reggae
 3 | pop
 4 | house


Table Event_Music

event_id  |  music_id
   1      |      1
   1      |      3
   3      |      4

Это говорит о том, что там будет событие А с хитами и поп-музыки, и там будет событие C только с музыкой дома.

2

Я думаю , что вы ищете MySQL SETколонного типа