"Paul" <paul(dot)cocei(at)punct(dot)ro> wrote:
> update cart set status = 1 where userid = (select userid from
> users where email = 'example(at)example(dot)com');
> As you can see, the subquery is broken (users table doesn't have
> the column userid).
By standard, if the identifier isn't defined within the most local
scope, each enclosing scope, from the inside out, will be checked.
I would expect the above to update each row where cart.userid was
I always use and recommend aliases where practical. If you wrote it
this way, such a mistake would be clearly identified:
update cart set status = 1 where userid = (select u.userid from
users u where u.email = 'example(at)example(dot)com');
Not a bug.
In response to
pgsql-bugs by date
|Next:||From: Merlin Moncure||Date: 2011-04-12 13:57:45|
|Subject: Re: PostgreSQL backend process high memory usage issue|
|Previous:||From: poiretlise||Date: 2011-04-12 12:57:04|
|Subject: BUG #5973: erreur SERIAL 4|