我正在尝试跨行设置唯一约束,其中一些是JSON数据类型。由于无法将JSON列作为主键,我想也许我可以散列所需的列并在哈希上构建主键。例如:
CREATE TABLE petshop(
name text,
fav_food jsonb,
md5sum uuid);
我可以做以下事情:
SELECT md5(name||fav_food::text) FROM petshop;
但是我希望默认情况下和/或使用触发器执行此操作,该触发器将md5总和插入到列md5sum
中。然后在该列上构建一个pkey。
但实际上,我只是想知道JSON对象是否是唯一的,而不是限制JSON中的键。所以如果有人有更好的主意,那就帮忙吧!