Как вставить значение в столбец uuid в Postgres? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть таблица со столбцом uuid, и в некоторых строках отсутствуют данные.Мне нужно вставить данные в этот uuid столбец.Данные вводятся вручную, поэтому мы добавляем суффикс к другим данным столбца, но это дает мне ошибку.

UPDATE schema.table 
    SET uuid_column = CONCAT ('f7949f56-8840-5afa-8c6d-3b0f6e7f93e9', '-', id_column) 
WHERE id_column = '1234';

Ошибка: [42804] ОШИБКА: столбец "uuid_column" имеет типuuid, но выражение имеет тип text
Подсказка: вам нужно будет переписать или привести выражение.
Позиция: 45

Я также пытался

UPDATE schema.table 
   SET uuid_column = CONCAT ('f7949f56-8840-5afa-8c6d-3b0f6e7f93e9', '-', id_column)::uuid 
WHERE id_column = '1234';

Ошибка: [22P02] ОШИБКА: неверный синтаксис ввода для uuid: "f7949f56-8840-5afa-8c6d-3b0f6e7f93e9-1234"

1 Ответ

0 голосов
/ 14 февраля 2019

UUID состоит из 16 байтов, которые отображаются в шестнадцатеричном формате.

У вас не может быть UUID с меньшим или большим количеством байтов.

Я рекомендую использовать тип bytea, есливам действительно нужно сделать такую ​​вещь.

...