Bug #458: serial data type problem

Started by PostgreSQL Bugs Listover 24 years ago2 messagesbugs
Jump to latest
#1PostgreSQL Bugs List
pgsql-bugs@postgresql.org

Teoh Teik Liang (martin_teoh@hotmail.com) reports a bug with a severity of 4
The lower the number the more severe it is.

Short Description
serial data type problem

Long Description
I had created a table with 2 fields (transaction_code serial primary key) and (trans_desc varchar(20) not null). I found that when I insert a null value into a trans_desc field, the record is not added because of the field is not able to key in null value. But the transaction_code already increase 1 for me. So, if I add the another record, the transaction_code will skip 1 value. How can I make the transaction_code not to increase if the record is not added into the table?

Sample Code
CREATE TABLE TEST (
TRANSACTION_CODE SERIAL PRIMARY KEY,
TRANS_DESC VARCHAR(20) NOT NULL,
PARTICULAR VARCHAR(30) NOT NULL
);

INSERT INTO TEST (PARTICULAR) VALUES ('TEST2');
*** CANNOT ADD RECORD BUT TRANSACTION_CODE INCREASED ALREADY. ***

INSERT INTO TEST (TRANS_DESC, PARTICULAR) VALUES ('TEST2', 'TEST PAR');

*** TRANSACTION_CODE WILL START FROM 2 ***

No file was uploaded with this report

#2Peter Eisentraut
peter_e@gmx.net
In reply to: PostgreSQL Bugs List (#1)
Re: Bug #458: serial data type problem

pgsql-bugs@postgresql.org writes:

How can I make the transaction_code not to increase if the record is
not added into the table?

This is a question, not a bug report.

Sequences may contain holes. If you don't want that you can't use
sequences.

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter