Re: Insert data if it is not existing - Mailing list pgsql-general

From tango ward
Subject Re: Insert data if it is not existing
Date
Msg-id CAA6wQLKH+djOs9xVFWB5pG9DN_nD8dQrrdOQtB0=8NdVy93KYA@mail.gmail.com
Whole thread Raw
In response to Re: Insert data if it is not existing  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: Insert data if it is not existing  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: Insert data if it is not existing  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
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)


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> 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>> 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

pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Renice on Postgresql process
Next
From: "David G. Johnston"
Date:
Subject: Re: Insert data if it is not existing