有没有办法在作为数组的列上添加约束来限制它的长度?我希望这些数组不超过6个。是的,我知道通常新表比存储在数组中更好,但我处于一个数组更有意义的情况。
答案 0 :(得分:4)
您可以在表定义中添加CHECK
约束:
CREATE TABLE my_table (
id serial PRIMARY KEY,
arr int[] CHECK (array_length(arr, 1) < 7),
...
);
如果表格已存在,您可以使用ALTER TABLE
添加约束:
ALTER TABLE my_table ADD CONSTRAINT arr_len CHECK (array_length(arr, 1) < 7);