Re: INSERT requires SERIAL column?
От | Christopher Kings-Lynne |
---|---|
Тема | Re: INSERT requires SERIAL column? |
Дата | |
Msg-id | GNELIHDDFBOCMGBFGEFOOEJCCBAA.chriskl@familyhealth.com.au обсуждение исходный текст |
Ответ на | INSERT requires SERIAL column? (otisg@ivillage.com) |
Ответы |
Re: INSERT requires SERIAL column?
|
Список | 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@example.com', 'password', 1); > > psql:../data/user_auth.dat:13: ERROR: pg_atoi: error in > "foo@example.com": can't parse "foo@example.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@example.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@example.com', 'password', 1); Chris
В списке pgsql-sql по дате отправления: