INSERT INTO holidays(num_weeks,happiness) VALUES (4, 'happy'); - из здешней маны.
Если я все правильно понял, тогда holidays - имя таблицы, num_weeks - наименование поля, happines тип данных. 4 - номер значения ячейки в типе happines, happy - значение 4-й ячейки которую мы хотим добавить.
Итак у меня есть таблица userlist, поле 'role' у которого есть тип данных my_enum, в котором есть значение 'admin',
Я хочу к значению админ добавить еще значения "user", к примеру. И получаю такой запрос.
INSERT INTO userlist(role, my_enum) VALUES (2, 'user');
Пропал кот, такие пироги. Как быть господа ?
Вложение | Размер |
---|---|
er3.png | 48.79 kb |
> holidays - имя таблицы,
> holidays - имя таблицы, num_weeks - наименование поля, happines тип данных
С чего бы? hapiness тоже имя поля.
Тип данных ENUM даёт вам возможность перечислить какие значения могут принимать данные этого типа. Так что сперва добавьте в ENUM значение, а уже затем можете добавлять это значение в таблицу, где есть поле этого типа.
Я закинул в my_enum, значения
Я закинул в my_enum, значения 'user', 'admin'
создал поле 'role' - присвоил ему тип данных my_enum, после чего я пытаюсь поставить по умолчанию 'user' и выбивает ошибка
ОШИБКА: колонка "role" имеет тип my_enum, но тип выражения по умолчанию name
HINT: Перепишите выражение или преобразуйте его тип.
В операторе:
ALTER TABLE "public"."userlist" ALTER COLUMN "role" SET DEFAULT user
А вы документацию почитайте.
А вы документацию почитайте. Чай на русском есть:
http://postgresql.ru.net/manual/datatype-enum.html
возможно и вопросы отпадут