我有一个带有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”
答案 0 :(得分:0)
UUID由16个字节组成,您会看到以十六进制表示。
您的UUID不能包含更少或更多的字节。
如果您确实需要这样做,建议您使用bytea
类型。