Бах обновление на dbeaver - PullRequest
0 голосов
/ 04 июля 2019

Мне нужно обновить базу следующим образом:

UPDATE my_table
SET columnb='01001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )

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

Но если файл имеет несколько состояний, например:

UPDATE my_table
SET columnb='01001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )
UPDATE my_table
SET columnb='021001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )
UPDATE my_table
SET columnb='010031'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )

, я получаю эту ошибку:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax;

, которая возникает в четвертой строке сразу после обновления для первого случая

1 Ответ

1 голос
/ 04 июля 2019

У вас нет точек с запятой в конце каждого оператора обновления

UPDATE my_table
SET columnb='01001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' );
UPDATE my_table
SET columnb='021001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' );
UPDATE my_table
SET columnb='010031'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' );
...