On 16/10/2010 17:15, Alexander Farber wrote:
> Hello,
>
> I'm trying to create a table, where md5 strings will serve as primary keys.
> So I'd like to add a constraing that the key length should be 32 chars long
> (and contain [a-fA-F0-9] only):
>
> create table gps (
> id varchar(32) primary key CONSTRAINT char_length(id)==32,
> stamp timestamp DEFAULT current_timestamp,
> pos point);
>
> But it fails:
>
> ERROR: syntax error at or near "("
> LINE 2: id varchar(32) primary key CONSTRAINT char_length(id)==32,
> ^
> Does anybody please know what's wrong here?
From (somewhat hazy) memory, I think the syntax is something like this:
... CONSTRAINT length_check CHECK char_length(id) = 32, ...
Note also that the equality operator is a single "=", not "==" as you
have above.
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie