Это определение перечислимого типа:
CREATE TYPE khstate AS ENUM ('none', 'form', 'test', 'finished');
Теперь в таблице базы данных у меня есть строка с столбцами id (тип SERIAL) и state (тип khstate). Значение столбца «id» равно 100004, а значением столбца «state» является «none». Как мне изменить его, скажем, на «форму»? Таблица определена следующим образом.
CREATE TABLE IF NOT EXISTS khs (
id SERIAL UNIQUE,
state khstate DEFAULT 'none',
PRIMARY KEY (id)
);
Я пробовал такие запросы, как
UPDATE tablename SET state = 'form' WHERE id = 100004;
ОШИБКА: неверное значение ввода для перечисления khstate: "форма"
UPDATE tablename SET state = 'form'::khstate WHERE id = 100004;
ОШИБКА: неверное входное значение для перечисления khstate: "форма"
но безуспешно. Я использую последний BitNami LAPPstack , поэтому версия PostgreSQL - 9.1.1.
Я не добавил никаких ограничений RULE или TRIGGER, а также не использовал транзакции явно.
Я пытался найти решение в Google, но все, что я мог найти, это вопросы о том, как изменить сам тип перечисления, а не значение столбца.