krafty
new Exception
Подскажите способ хранения данных
Задача такая. Есть первоначальный список элементов - множество A. Пользователь имеет возможность удалять и добавлять новые элементы в этом списке, а само поле содержит лишь некоторое подмножество B множества А.
Объясняю на примере таблицы:
В поле field2 может содержаться один или несколько элементов множества А, или не содержаться вообще ничего, т.е. В может быть пустым.
У меня была идея использовать тип поля SET(a,b,c,...).
Тогда, чтобы добавить в А элемент 'a', используем запрос
[sql]
ALTER TABLE table1 CHANGE field2 field2 SET('a','b')
[/sql]
Чтобы В было пустым множеством
[sql]
UPDATE table1 SET field2 = NULL WHERE id =1
[/sql]
Заполнение множества B:
[sql]
UPDATE table1 SET field2 = 'a' WHERE id=1;
[/sql]
Есть проблемы:
1. А как же увидеть все элементы множества 'А'? Т.е. каким запросом вывести все элементы a,b,c,...
2. При изменении множества А приходится перечислять все его элементы - это неудобно
Есть вторая идея - использование дополнительной таблицы
Задача такая. Есть первоначальный список элементов - множество A. Пользователь имеет возможность удалять и добавлять новые элементы в этом списке, а само поле содержит лишь некоторое подмножество B множества А.
Объясняю на примере таблицы:
PHP:
id | field1 | field2
--- |---------|----------
У меня была идея использовать тип поля SET(a,b,c,...).
Тогда, чтобы добавить в А элемент 'a', используем запрос
[sql]
ALTER TABLE table1 CHANGE field2 field2 SET('a','b')
[/sql]
Чтобы В было пустым множеством
[sql]
UPDATE table1 SET field2 = NULL WHERE id =1
[/sql]
Заполнение множества B:
[sql]
UPDATE table1 SET field2 = 'a' WHERE id=1;
[/sql]
Есть проблемы:
1. А как же увидеть все элементы множества 'А'? Т.е. каким запросом вывести все элементы a,b,c,...
2. При изменении множества А приходится перечислять все его элементы - это неудобно
Есть вторая идея - использование дополнительной таблицы