Re: primary key and insert
От | Steve Crawford |
---|---|
Тема | Re: primary key and insert |
Дата | |
Msg-id | 4941B2CF.1040906@pinpointresearch.com обсуждение исходный текст |
Ответ на | primary key and insert (Marc Fromm <Marc.Fromm@wwu.edu>) |
Список | pgsql-admin |
Marc Fromm wrote: > I created this table: > ... > id | integer | not null > Indexes: > "alert_list_pkey" PRIMARY KEY, btree (id) > I get this error when I run the insert a listed below. The insert does > not have an entry for the primary key "id" since I thought it updates > automatically: > *Warning*: pg_query() [function.pg-query > <http://finaid46.finaid.wwu.edu/lan/student_alerts/function.pg-query>]: > Query failed: ERROR: null value in column "id" violates not-null > constraint > ... > How do I do an insert on this table and have the primary key "id" > update with the record? > I think you are confusing primary key and serial. A column can be a primary key (not-null, unique row id) or a serial (actually automatically creates an integer type, a sequence, and a default for the column of nextval('sequence') to automatically generate a new value for each record). A primary key could be a serial, but doesn't have to be. A serial can be a primary key but doesn't have to be. Note: due to things like transaction rollbacks, a serial column will have unique IDs generated but they are not guaranteed to be consecutive. Cheers, Steve
В списке pgsql-admin по дате отправления: