Обсуждение: BUG #18001: Invalid subquery passed as true
The following bug has been logged on the website: Bug reference: 18001 Logged by: Piet van Ham Email address: pvham90@gmail.com PostgreSQL version: 11.20 Operating system: Linux Description: create table table_a (column_a varchar(16), column_b varchar(16)); create table table_b (column_c varchar(16), column_d varchar(16)); insert into table_a (column_a, column_b) values ('row1a','row1b'); insert into table_b (column_c, column_d) values ('row2a','row2b'); delete from table_a where column_a in (select column_a from table_b); --the subquery is invalid, but the where clause is passed as true resulting in all records deleted select count(*) from table_a; -- 0
hi
On Mon, 26 Jun 2023, 19:11 PG Bug reporting form, <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 18001
Logged by: Piet van Ham
Email address: pvham90@gmail.com
PostgreSQL version: 11.20
Operating system: Linux
Description:
create table table_a (column_a varchar(16), column_b varchar(16));
create table table_b (column_c varchar(16), column_d varchar(16));
insert into table_a (column_a, column_b) values ('row1a','row1b');
insert into table_b (column_c, column_d) values ('row2a','row2b');
delete from table_a where column_a in (select column_a from table_b); --the
subquery is invalid, but the where clause is passed as true resulting in all
records deleted
select count(*) from table_a;
-- 0
this is unfortunately working as required by the sql standard, see https://wiki.postgresql.org/wiki/FAQ#Why_doesn.27t_PostgreSQL_report_a_column_not_found_error_when_using_the_wrong_name_in_a_subquery.3F