client.execute(
"""CREATE TABLE test(
id FixedString(36) NOT NULL,
time DateTime64(3, "Europe/Moscow") NOT NULL,
data Nested(
ip IPv4,
name_en String,
code String)
)
ENGINE = Memory
"""
)
client.execute("""
Insert into test (id,
time,
data.ip,
data.name_en,
data.code)
format Values""",
('00f0d86e-1234-12ed-1d11-40feb884ac00',
1655672463987,
['192.168.0.1', 'Some name', 'KK', 999999, 'QWEEW'])
)
ValueError: Expected 5 columns, got 36
Где оно 36 видит?
Попробуйте на примере из документации либо из тестов в GitHub
каждое поле nested задается как массив ['192.168.0.1', 'Some name', 'KK', 999999, 'QWEEW'] -- это неправильно 36 это скорее всего питон во что-то странное все преобразовал
Insert into test Values ('00f0d86e-1234-12ed-1d11-40feb884ac00', 1655672463987, ['192.168.0.1'], ['Some name'], ['KK']) select * from test; ┌─id───────────────────────────────────┬────────────────────time─┬─data.ip─────────┬─data.name_en──┬─data.code─┐ │ 00f0d86e-1234-12ed-1d11-40feb884ac00 │ 2022-06-19 21:01:03.987 │ ['192.168.0.1'] │ ['Some name'] │ ['KK'] │ └──────────────────────────────────────┴─────────────────────────┴─────────────────┴───────────────┴───────────┘
Ок, а то я пример какой то нашел и там пихали массив как набор данных для нестед полей. Ок, щас попробуем
а подскажите подалуйста вот такой момент если nested это как бы таблица внутри таблицы, то по идее в один поток можно класть в нее несколько значений. Или я не прав? Если прав то подскажите плиз как это сделать.
Insert into test Values ('00f0d86e-1234-12ed-1d11-40feb884ac00', 1655672463987, ['192.168.0.1', '192.168.0.2', '192.168.0.3'], ['Some name', 'Some name1', 'Some name2'], ['KK', 'KK1', 'KK2'])
а где посмотреть? Нужны примеры по Nested таблицам ( очень (
ух ё моё.... конвертер лютый будет ) Спасибо
Обсуждают сегодня