Mike J
Mike J
Explore posts from servers
DTDrizzle Team
Created by Mike J on 10/26/2024 in #help
How would you write this SQL query using Drizzle?
Hey! This is my first time using Drizzle. I have the following SQL query, which returns the ID for "my_name" (which I expect to return most of the time). If the name doesn't exist, it will insert it into the table and return the new ID. It's one call to the database and avoids trying to INSERT only if the value doesn't exist. How do I write this using Drizzle?
WITH ins AS (
INSERT INTO names (name)
VALUES ('my_name')
ON CONFLICT (name) DO NOTHING
RETURNING id
)
SELECT COALESCE(
(SELECT id FROM your_table WHERE name = 'your_name'),
(SELECT id FROM ins)
);
WITH ins AS (
INSERT INTO names (name)
VALUES ('my_name')
ON CONFLICT (name) DO NOTHING
RETURNING id
)
SELECT COALESCE(
(SELECT id FROM your_table WHERE name = 'your_name'),
(SELECT id FROM ins)
);
2 replies