|
|
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
Подскажите, в чем отличие ENUM от SET? И в чем вообще суть этих типов данных? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 21:02:05 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
enum - тип перечислимых значений. В дополнение к описанным включает null и пустую строку. set - битовая маска перечислимых значений. В дополнение к описанным включает только null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 21:12:55 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
Akina т.е если мы выполним запрос CREATE TABLE "t1" ("en1", ENUM ("orange", "apple", "grape") NOT NULL) то создастся таблица t1 со столбцом en1, который содержит значения "orange", "apple", "grape"? правильно? а если запрос будет такой: CREATE TABLE "t1" ("en1", SET("orange", "apple", "grape") NOT NULL) то что произойдет в этом случае? в чем отличия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 21:27:52 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
Hanna_Urievna, перечислимые значения - "одно из" в каждый конкретный момент времени. То есть поле может содержать или то или другое. Этакая замена выделенному справочнику значений. Но, в отличии от нормальной таблицы-справочника поля, определенные как один тип таковыми на практике не являются. множество - "любая комбинация из" возможных значений. Каждое значение представлено своим битом из 64-х возможных. Могут одновременно присутствовать несколько. От себя: пробовал делать SET, ожидалось, что можно работать как с обычной битовой маской. Фиг-то там. Привозврате из подзапроса на уровень выше - получаем строку и с битовыми операциями, например групповыми оно не сочетается никак. и то и другое в реализации по сути - строки. В целом сложилось впечатление что оба типа - недоделанные залипухи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 22:15:16 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
Hanna_UrievnaAkina т.е если мы выполним запрос CREATE TABLE "t1" ("en1", ENUM ("orange", "apple", "grape") NOT NULL) то создастся таблица t1 со столбцом en1, который содержит значения "orange", "apple", "grape"? правильно? а если запрос будет такой: CREATE TABLE "t1" ("en1", SET("orange", "apple", "grape") NOT NULL) то что произойдет в этом случае? в чем отличия? Во втором случае возможно Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 23:43:04 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
Arhat109сложилось впечатление что оба типа - недоделанные залипухи.В общем да. enum - просто перенесение функционала подстановки с клиента на сервер. Впрочем, с учётом отдаваемого типа профит сомнительный. Хотя можно рассматривать как избавление от дополнительного джойна для небольшого статического словаря. А вменяемого использования set мне вообще не попадалось. И даже с использованием Make_Set и Find_In_Set тоже ничего осмысленного не придумывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2013, 23:48:58 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
Hanna_UrievnaПодскажите, в чем отличие ENUM от SET? И в чем вообще суть этих типов данных? Заранее спасибо! Да не используй ты эту хрень. Простое поле с check constraint универсальнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 10:59:59 |
|
||
|
Enum_Set отличия
|
|||
|---|---|---|---|
|
#18+
MasterZivПростое поле с check constraint универсальнее.В других СУБД - может быть. А вот в MySQL check constraint не работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 11:18:15 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1835658]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 332ms |

| 0 / 0 |
