By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
/*
У меня есть таблица со столбцами a, b, c, d.
*/
CREATE TABLE test (a INT, b INT, c INT, d INT);
/*
И в нее нужно вставить длинный список примерно такого вида:
(1111, 1111, 1111, 1111),
(222, 222, 222),
(3333),
(4444, 4444),
(5555),
(6666, 6666, 6666, 6666),
*/
SET @list := '
(1111, 1111, 1111, 1111),
(222, 222, 222),
(3333),
(4444, 4444),
(5555),
(6666, 6666, 6666, 6666)
';
INSERT INTO test (a,b,c,d)
SELECT a,b,c,d
FROM JSON_TABLE(
CONCAT('[', REPLACE(REPLACE(@list, '(', '['), ')', ']'), ']'),
'$[*]' COLUMNS (
a INT PATH '$[0]',
b INT PATH '$[1]',
c INT PATH '$[2]',
d INT PATH '$[3]'
)
) jsontable
Records: 6 Duplicates: 0 Warnings: 0
SELECT * FROM test;
a | b | c | d |
---|---|---|---|
1111 | 1111 | 1111 | 1111 |
222 | 222 | 222 | null |
3333 | null | null | null |
4444 | 4444 | null | null |
5555 | null | null | null |
6666 | 6666 | 6666 | 6666 |