On 05/23/2018 04:58 PM, tango ward wrote:
> Thanks masters for responding again.
>
> I've tried running the code:
>
> INSERT INTO my_table(name, age)
> SELECT name, age
> WHERE NOT EXISTS(SELECT name FROM my_table WHERE name= name)
The first thing I see is that:
SELECT name, age
is not being selected from anywhere, for example:
SELECT name, age FROM some_table.
The second thing I see is why not use ON CONFLICT?
>
>
> this doesn't give me error but it doesn't insert data either.
>
> On Thu, May 24, 2018 at 3:35 AM, Adrian Klaver
> <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:
>
> On 05/23/2018 10:00 AM, David G. Johnston wrote:
>
> On Wednesday, May 23, 2018, tango ward <tangoward15@gmail.com
> <mailto:tangoward15@gmail.com> <mailto:tangoward15@gmail.com
> <mailto:tangoward15@gmail.com>>> wrote:
>
> I just want to ask if it's possible to insert data if it's not
> existing yet.
>
>
> This seems more like a philosophical question than a technical
> one...
> but the answer is yes:
>
> CREATE TABLE test_t (a varchar, b varchar, c integer);
> INSERT INTO test_t
> SELECT '1', '2', 3 WHERE false; --where false causes the data
> to effectively "not exist"
>
> As for ON CONFLICT: conflicts can only happen between things
> that exist.
>
>
> Well that made my day:)
>
>
> David J.
>
>
>
> --
> Adrian Klaver
> adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com