Как вставить несколько строк в одну строку вставки в Cassandra CQL? - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть следующая таблица, которая называется 'devices':

userid |DeviceID |devicedata |userdata

Все столбцы - varchars, а userid + deviceid является первичным ключом.

Вставка одной строки в таблицу кажется работающей:

INSERT INTO devices (userid, deviceid, devicedata, userdata)
VALUES ('user7', 'deviceid1', 'devicedata7', 'userdata1');

Но следующее не работает:

INSERT INTO devices (userid, deviceid, devicedata, userdata) 
VALUES (('user8', 'deviceid1', 'devicedata8', 'userdata1'), 
        ('user9', 'deviceid1', 'devicedata9', 'userdata1'));

Я получаю следующую ошибку:

InvalidRequest: Error from server: code=2200 [Invalid query]
  message="Unmatched column names/values"

Как вставить несколько строк одной строкой INSERT?Является ли это возможным?Я знаю, что есть вариант дозирования.

1 Ответ

0 голосов
/ 28 сентября 2018

Просто сделайте два запроса или незагруженную партию, если вам действительно нужно, но я бы порекомендовал просто сделать 2 разных асинхронных запроса, и при пакетировании их будет мало негативных последствий.

...