Search Postgresql Archives

Re: UPDATE statement with syntax error doesn't raise a warning?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 25 Sep 2009 17:05:13 +0200, Mirko Pace wrote about 
UPDATE statement with syntax error doesn't raise a warning?:

>I've ran an update statement like this (obviously wrong, I know!):

Not so obvious.

>update my_table
>  set boolean_field = true AND
>  my_notes = 'something'
>where id in
>   (select id from my_table order by random() limit 4000);
>
>in my psql client and I had a "UPDATE 4000" result but, correctly,
>anything was changed in my_table.

I presume you meant "nothing" rather than "anything".

>So... why pg didn't raise a warning about syntax issue?

If we add some redundant parentheses, the SET clause becomes:

SET boolean_field = (true AND my_notes = 'something')

As you can see, this is a valid Boolean expression. There is no syntax
error. It just doesn't mean what you wanted.
-- 
Regards,

Dave  [RLU #314465]
=======================================================================
david.w.noon@xxxxxxxxxxxx (David W Noon)
=======================================================================

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux