我有一些字符串,如 12344 (4-5 位数字),我想将其存储在 postgresql 表中,列数据类型为 UUID。这些是需要索引的列。从文档中看来,UUID 是具有某种格式的字段,例如 a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 ,数量为 128 位。
那么是否可以在 UUID 数据字段中存储像 12344 这样的字符串?当前收到“无效类型输入字符串错误”
pstmt.setObject(1,"12344",java.sql.Types.OTHER);
最佳答案
不直接。但是您可以从长值构建 UUID:
long val = 12344;
pstmt.setObject(1,new UUID(0, val),java.sql.Types.OTHER);
请注意,该值将是“UUID 编码”的,因此您将无法执行一些 select * from table where val = 12344
的操作。您必须首先计算相应的 UUID。
关于java - 在postgresql中的UUID字段中存储非UUID字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634426/