Chris St Denis wrote:
> When editing my table contents multiple rows wiht the same value all
> get changed.
>
> Table design:
>
> CREATE TABLE customer_service_attributes
> (
> customer_service_attribute_id int4 NOT NULL DEFAULT
> nextval('public.cust_srv_features_customer_service_attributes_seq'::text),
> _service_id int4 NOT NULL, -- This can be derrived from the attrib
> ID, but is also here to make queries easier.
> service_attr_id int4 NOT NULL,
> _customer_id int4 NOT NULL,
> customer_service_id int4 NOT NULL,
> value text NOT NULL,
> CONSTRAINT customer_service_attributes_pkey PRIMARY KEY
> (customer_service_attribute_id),
> CONSTRAINT customer_service_attributes_customer_id_fkey FOREIGN KEY
> (_customer_id)
> REFERENCES customer (customer_id) MATCH SIMPLE
> ON UPDATE RESTRICT ON DELETE RESTRICT,
> CONSTRAINT customer_service_attributes_customer_service_id_fkey
> FOREIGN KEY (customer_service_id)
> REFERENCES customer_services (customer_service_id) MATCH SIMPLE
> ON UPDATE RESTRICT ON DELETE RESTRICT,
> CONSTRAINT customer_service_attributes_service_attr_id_fkey FOREIGN
> KEY (service_attr_id)
> REFERENCES service_attribute (service_attr_id) MATCH SIMPLE
> ON UPDATE RESTRICT ON DELETE RESTRICT,
> CONSTRAINT customer_service_attributes_service_id_fkey FOREIGN KEY
> (_service_id)
> REFERENCES service (service_id) MATCH SIMPLE
> ON UPDATE RESTRICT ON DELETE RESTRICT
> )
> WITHOUT OIDS;
>
>
> When editing the value feild in rows in the grid changing value x to
> y, all rows with value x become y. Looking in the query log shows the
> following
>
> STATEMENT: UPDATE customer_service_attributes SET
> value='y'::pg_catalog.text WHERE value = 'x'::pg_catalog.text
>
> Shouldn't this be refrencing the primary key of
> customer_service_attribute_id in the where clause? as in
>
> STATEMENT: UPDATE customer_service_attributes SET
> value='y'::pg_catalog.text WHERE customer_service_attribute_id = 620
>
>
> Am I doing something wrong or is there a massive bug here??
Which version?
We had a recent fix that could hit you when you dropped columns and
readded some as PK.
Regards,
Andreas