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??
Please reply or cc to this address, I'm not subscribed to this list.