Given:
orig_sav=# \d realtycompany_contacts Table "public.realtycompany_contacts" Column | Type | Modifiers ------------------+--------+----------- realtycompany_id | bigint | not null contact_id | bigint | not null
and
orig_sav=# \d users Table "public.users" Column | Type | Modifiers -------------------+-----------------------------+----------- id | bigint | not null name | text | password | text | not null version | integer | not null contact | bigint | comment | text | organization | bigint | pwd_storage_style | integer | old_name | text | deleted | boolean | not null deleted_date | timestamp without time zone |
Why in the world does this statement parse and run:
orig_sav=# delete from realtycompany_contacts where contact_id in (select contact_id from users);
DELETE 1634
Since users has *no* column contact_id ? One would expect the statement to fail, and the transaction to get rolled back.
orig_sav=# select contact_id from users; ERROR: column "contact_id" does not exist
This is on 7.4.2.
---- James Robinson Socialserve.com
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings