From: | Alban Hertroys <haramrae(at)gmail(dot)com> |
---|---|
To: | Robert Nikander <rob(dot)nikander(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: use null or 0 in foreign key column, to mean "no value"? |
Date: | 2015-06-27 11:00:16 |
Message-ID: | E1D87314-AF30-4D8C-B78E-8E369000D861@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> On 27 Jun 2015, at 5:59, Robert Nikander <rob(dot)nikander(at)gmail(dot)com> wrote:
> In application code, prepared statements want to say: `select * from items where color_id = ?` and that `?` might be a int or null, so that doesn’t work.
You could add another parameter to test which expression to 'activate' in the query, something like:
select * from items where ('notnull' = ? and color_id = ?) or ('null' = ? and color_id is null);
Of course, with those _positional_ query parameters that means you need to add the same value TWICE into the query. You wouldn't need to with _named_ query parameters, if those are available to you.
Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.
From | Date | Subject | |
---|---|---|---|
Next Message | Gerdan Rezende dos Santos | 2015-06-27 13:32:39 | HA |
Previous Message | John McKown | 2015-06-27 04:50:08 | Re: use null or 0 in foreign key column, to mean "no value"? |