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
