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
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend