By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE artists (name TEXT UNIQUE, sort TEXT);
✓
INSERT INTO artists (name, sort)
VALUES ('firstname lastname', 'lastname, firstname');
✓
INSERT INTO artists (name, sort)
VALUES ('firstname lastname 2', NULL);
✓
INSERT INTO artists (name, sort)
VALUES ('firstname lastname 3', 'firstname, lastname');
✓
SELECT *
FROM artists;
name | sort |
---|---|
firstname lastname | lastname, firstname |
firstname lastname 2 | null |
firstname lastname 3 | firstname, lastname |
INSERT INTO artists (name, sort)
VALUES ('firstname lastname', 'lastname, firstname')
ON CONFLICT DO UPDATE
SET sort = excluded.sort
WHERE excluded.sort IS NOT sort;
✓
SELECT *
FROM artists;
name | sort |
---|---|
firstname lastname | lastname, firstname |
firstname lastname 2 | null |
firstname lastname 3 | firstname, lastname |
INSERT INTO artists (name, sort)
VALUES ('firstname lastname 2', 'lastname, firstname')
ON CONFLICT DO UPDATE
SET sort = excluded.sort
WHERE excluded.sort IS NOT sort;
✓
SELECT *
FROM artists;
name | sort |
---|---|
firstname lastname | lastname, firstname |
firstname lastname 2 | lastname, firstname |
firstname lastname 3 | firstname, lastname |
INSERT INTO artists (name, sort)
VALUES ('firstname lastname 3', 'lastname, firstname')
ON CONFLICT DO UPDATE
SET sort = excluded.sort
WHERE excluded.sort IS NOT sort;
✓
SELECT *
FROM artists;
name | sort |
---|---|
firstname lastname | lastname, firstname |
firstname lastname 2 | lastname, firstname |
firstname lastname 3 | lastname, firstname |