add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE test (id INT, name VARCHAR(255), age INT, rent INT);
INSERT INTO test VALUES
(1 , 'Name 1' , 25 , 1000),
(2 , 'Name 2' , 28 , NULL),
(3 , 'Name 3' , 35 , 1500),
(4 , 'Name 4' , 44 , 3200),
(5 , 'name 5' , 42 , NULL);
SELECT * FROM test;
Records: 5  Duplicates: 0  Warnings: 0
id name age rent
1 Name 1 25 1000
2 Name 2 28 null
3 Name 3 35 1500
4 Name 4 44 3200
5 name 5 42 null
CREATE UNIQUE INDEX idx ON test (id, (CASE WHEN rent IS NULL THEN 0 ELSE id END));
Records: 5  Duplicates: 0  Warnings: 0
INSERT INTO test (id, rent) VALUES (1,1111) ON DUPLICATE KEY UPDATE rent = VALUES(rent);
INSERT INTO test (id, rent) VALUES (2,2222) ON DUPLICATE KEY UPDATE rent = VALUES(rent);
INSERT INTO test (id, rent) VALUES (3,NULL) ON DUPLICATE KEY UPDATE rent = VALUES(rent);
SELECT * FROM test;
id name age rent
1 Name 1 25 1111
2 Name 2 28 null
3 Name 3 35 1500
4 Name 4 44 3200
5 name 5 42 null
2 null null 2222
3 null null null