Help with array constraints

Поиск
Список
Период
Сортировка
От Jason Hihn
Тема Help with array constraints
Дата
Msg-id NGBBLHANMLKMHPDGJGAPKEGGCGAA.jhihn@paytimepayroll.com
обсуждение исходный текст
Ответы Re: Help with array constraints  (Antti Haapala <antti.haapala@iki.fi>)
Re: Help with array constraints  (Richard Huxton <dev@archonet.com>)
Re: Help with array constraints  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-general
Two tables (simplified):

CREATE TABLE _test (
    id CHAR(1),
    PRIMARY KEY(id)
);

INSERT INTO _test VALUES ('a');
INSERT INTO _test VALUES ('b');

CREATE TABLE test (
    letter CHAR(1)[3] NOT NULL REFERENCES _test(id)
    PRIMARY KEY(letter)
);

CREATE TABLE / PRIMARY KEY will create implicit index 'test_pkey' for table
'test'
NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY
check(s)
ERROR:  Unable to identify an operator '=' for types 'character[]' and
'character'
        You will have to retype this query using an explicit cast

Can someone please explain that in English? I want ALL the letter field
values to be checked against what is in the _test table id field when a row
is inserted. For example, 'a' and 'b' is in the _test table now, if I insert
an 'a' or 'b' into test, it will suceed. If I insert a 'c' or 'd' it should
fail.

What must I do?

I am on v7.2.

Thank you.


В списке pgsql-general по дате отправления:

Предыдущее
От: Lonni J Friedman
Дата:
Сообщение: Re: unable to dump database, toast errors
Следующее
От: Tom Lane
Дата:
Сообщение: Re: unable to dump database, toast errors