| From: | "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au> |
|---|---|
| To: | <otisg(at)ivillage(dot)com>, <pgsql-sql(at)postgresql(dot)org> |
| Subject: | Re: INSERT requires SERIAL column? |
| Date: | 2002-02-27 07:50:20 |
| Message-ID: | GNELIHDDFBOCMGBFGEFOOEJCCBAA.chriskl@familyhealth.com.au |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
> Hello,
>
> I've got a table with these columns:
>
> user_id SERIAL
> CONSTRAINT pk_user_auth_user_id PRIMARY KEY,
> email VARCHAR(64) NOT NULL UNIQUE ,
> password VARCHAR(16) NOT NULL ,
> status SMALLINT NOT NULL DEFAULT 1
>
> But when I tried using the following INSERT statement I got an
> error about not being able to parse the input.
>
> INSERT INTO user_auth VALUES ('foo(at)example(dot)com', 'password', 1);
>
> psql:../data/user_auth.dat:13: ERROR: pg_atoi: error in
> "foo(at)example(dot)com": can't parse "foo(at)example(dot)com"
>
> So this indicates that an integer was expected as the first value.
>
> In order to get it to do what I want I had to use this:
>
> INSERT INTO user_auth VALUES (nextval('user_auth_user_id_seq'),
> 'foo(at)example(dot)com', 'password', 1);
>
> Question:
> Is this really necessary or am I missing something?
> I thought specifying SERIAL columns is not neccessary in INSERT
> statements.
You need to specify the columns to insert into, skipping over the SERIAL
column:
INSERT INTO user_auth (email, password, status) VALUES ('foo(at)example(dot)com',
'password', 1);
Chris
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Christopher Kings-Lynne | 2002-02-27 07:54:28 | Re: Err. compiling func. with SET TRANS... |
| Previous Message | otisg | 2002-02-27 07:38:56 | INSERT requires SERIAL column? |