timestamp error cant find class for type 1296
When attempting to create the following table:
CREATE TABLE test (
id timestamp primary key,
fodder varchar(64)
);
I get the following error:
ERROR: Can't fine a default operator CLASS for type 1296
Whats that all about? ;)
If I create the table as follows (which AFAIK is equivilant):
CREATE TABLE test2 (
id datetime primary key,
fodder varchar(64)
);
It creates fine but when I try to insert something like:
INSERT INTO test2 (fodder) VALUES ('arfarf');
I get:
ERROR: ExecAppend: Fail to add null value in not null value attribute id
I thought that the datetime field would be filled automatically on a insert with a current timestamp. can someone point out what Im doin wrong.
Thnx all,
-crypt0genic
--
Reverse engineering, the most fun and usually the most effective way
to tackle a problem or learn something new.
Public PGP key: http://www.ecad.org/crypt0genic.pkr
Fingerprint: A4F6 9F69 7C89 0AC0 9F9F 583B 64E0 AB8E 36DA A2A2
Hello,
I don't know about the test but I think I read something about it being
special.
The second case I think you wanted to use default. See example below.
Best regards,
Roelof
snlsor=> create table test2 (
snlsor-> id datetime primary key default now(),
snlsor-> fodder varchar(64)
snlsor-> );
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 'test2_pkey'
for table 'test2'
CREATE
snlsor=> INSERT INTO test2 (fodder) VALUES ('arfarf');
INSERT 615427 1
snlsor=> select * from test2;
id |fodder
-------------------------------+------
Fri Mar 31 14:39:50 2000 METDST|arfarf
(1 row)
snlsor=> INSERT INTO test2 (fodder) VALUES ('arfarfgggg');
INSERT 615428 1
snlsor=> select * from test2;
id |fodder
-------------------------------+----------
Fri Mar 31 14:39:50 2000 METDST|arfarf
Fri Mar 31 14:43:31 2000 METDST|arfarfgggg
(2 rows)
Show quoted text
-----Original Message-----
From: crypt0genic [SMTP:crypt0genic@ecad.org]
Sent: vrijdag 31 maart 2000 13:14
To: pgsql-general@postgresql.org
Subject: [GENERAL] timestamp error cant find class for type 1296When attempting to create the following table:
CREATE TABLE test (
id timestamp
primary key,
fodder
varchar(64)
);I get the following error:
ERROR: Can't fine a default operator CLASS for type 1296Whats that all about? ;)
If I create the table as follows (which AFAIK is equivilant):
; fodder
varchar(64)
);It creates fine but when I try to insert something like:
INSERT INTO test2 (fodder) VALUES ('arfarf');
I get:
ERROR: ExecAppend: Fail to add null value in not null value attribute idI thought that the datetime field would be filled automatically on a
insert with a current timestamp. can someone point out what Im doin wrong.Thnx all,
-crypt0genic--
Reverse engineering, the most fun and usually the most effective way
to tackle a problem or learn something new.
Public PGP key: http://www.ecad.org/crypt0genic.pkr
Fingerprint: A4F6 9F69 7C89 0AC0 9F9F 583B 64E0 AB8E 36DA A2A2
Import Notes
Resolved by subject fallback
You can't create an index on timestamp in <7.0 versions.
On Fri, 31 Mar 2000, crypt0genic wrote:
When attempting to create the following table:
CREATE TABLE test (
id timestamp primary key,
fodder varchar(64)
);I get the following error:
ERROR: Can't fine a default operator CLASS for type 1296Whats that all about? ;)
If I create the table as follows (which AFAIK is equivilant):
CREATE TABLE test2 (
id datetime primary key,
fodder varchar(64)
);It creates fine but when I try to insert something like:
INSERT INTO test2 (fodder) VALUES ('arfarf');
I get:
ERROR: ExecAppend: Fail to add null value in not null value attribute idI thought that the datetime field would be filled automatically on a insert with a current timestamp. can someone point out what Im doin wrong.
Thnx all,
-crypt0genic
--
Peter Eisentraut Sernanders v�g 10:115
peter_e@gmx.net 75262 Uppsala
http://yi.org/peter-e/ Sweden
Hello Peter,
Can you explain this more in detail, because I fail to see the difference in
the following:
Welcome to the POSTGRESQL interactive sql monitor:
Please read the file COPYRIGHT for copyright terms of POSTGRESQL
[PostgreSQL 6.5.3 on hppa1.1-hp-hpux10.20, compiled by cc -Ae ]
snlsor=> create table test2 ( id integer primary key);
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 'test2_pkey'
for table 'test2'
CREATE
snlsor=> create table test3 (id datetime primary key);
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 'test3_pkey'
for table 'test3'
CREATE
Best regards,
Roelof
Show quoted text
-----Original Message-----
From: Peter Eisentraut [SMTP:e99re41@DoCS.UU.SE]
Sent: vrijdag 31 maart 2000 15:09
To: crypt0genic
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] timestamp error cant find class for type 1296You can't create an index on timestamp in <7.0 versions.
On Fri, 31 Mar 2000, crypt0genic wrote:
When attempting to create the following table:
CREATE TABLE test (
id timestampprimary key,
fodder
varchar(64)
);
I get the following error:
ERROR: Can't fine a default operator CLASS for type 1296Whats that all about? ;)
If I create the table as follows (which AFAIK is equivilant):
CREATE TABLE test2 (
id datetimeprimary key,
fodder
varchar(64)
);
It creates fine but when I try to insert something like:
INSERT INTO test2 (fodder) VALUES ('arfarf');
I get:
ERROR: ExecAppend: Fail to add null value in not null value attribute idI thought that the datetime field would be filled automatically on a
insert with a current timestamp. can someone point out what Im doin wrong.
Thnx all,
-crypt0genic--
Peter Eisentraut Sernanders v�g 10:115
peter_e@gmx.net 75262 Uppsala
http://yi.org/peter-e/ Sweden
Import Notes
Resolved by subject fallback