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

Reply via email to