Is it just me, or did you reverse the sense of your check. In the first case, you select with "[^0-9]", but your constraint uses "[0-9]" without the carrot.

On Feb 22, 2007, at 4:48 PM, Pavel Stehule wrote:


The following bug has been logged online:

Bug reference:      3056
Logged by:          Pavel Stehule
Email address:      [EMAIL PROTECTED]
PostgreSQL version: 8.3
Operating system:   Linux
Description:        strange behave of CHECK constraint
Details:

Hello,

check constraint doesn't work correct:

opeerator similar works well:

root=# select '233' not similar to '%[^0-9]%';
 ?column?
----------
 t
(1 řádka)

but:
root=# create table tt(a varchar check (a not similar to '%[0-9]%'));
CREATE TABLE
root=# insert into tt values('233');
ERROR: new row for relation "tt" violates check constraint "tt_a_check"

Regards
Pavel Stehule

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Douglas Toltzman
[EMAIL PROTECTED]
(910) 526-5938



Reply via email to