Это определение перечислимого типа:PostgreSQL: изменение столбца типа перечислений
CREATE TYPE khstate AS ENUM ('none', 'form', 'test', 'finished');
Теперь в таблице базы данных У меня есть строка со столбцами «ид» (типа SERIAL) и «государство» (тип khstate). Значение столбца «id» равно 100004, а значение столбца «состояние» равно «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, но все, что я мог найти, это вопросы о том, как изменить тип перечисления, а не значение столбца.
«но безрезультатно». означает? –
Обе формы работают здесь. Измените свой вопрос, чтобы включить оператор CREATE TABLE и фактическое сообщение об ошибке. (Скопируйте и вставьте, не перепечатывайте.) –
Любопытство - после выполнения ваших операторов UPDATE вы совершили транзакции? –