Динамическая строка sql для проверки значения перед его вставкой

#sqlite

Вопрос:

хороший день,

У меня есть уникальная проблема, которую я пытался решить.

в основном я получаю огромные объемы данных с сервера по запросу клиента.

я никогда не знаю, что такое столбец или таблица, поэтому мне удалось создать динамическую функцию, которая обрабатывает данные следующим образом.

 let _Insert_replace_string = (table, columns) => {
    var string = 'INSERT INTO '   table   ' (`TIMESTAMP`, `ERROR`, `LOCALID`'
    for (let xx = 4; xx < columns.length; xx  ) {
      let element2 = columns[xx];
      string  = ', `'   element2   '`'
    }
    string  = ') VALUES ($TIMESTAMP, $ERROR, $LOCALID'
    for (let xx = 4; xx < columns.length; xx  ) {
      let element2 = columns[xx];
      string  = ', 

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) "строка представления", не содержащая ничего (не null и т. Д.)

  --------- ------ ------ ------ ------ 
| LOCALID | col2 | col3 | col4 | col5 |
 --------- ------ ------ ------ ------ 
| xx3     | ''   | 123  | ''   | 123  |
 --------- ------ ------ ------ ------ 
| av1     | b    | 456  | ''   | 456  |
 --------- ------ ------ ------ ------ 
| po2     | c    | ''   | c    | 789  |
 --------- ------ ------ ------ ------ 
 

поэтому, если сервер отправит строку вниз

[xx3, abc, ", abc, "]

что происходит, если таблица обновляется сейчас до

  --------- ------ ------ ------ ------ 
| LOCALID | col2 | col3 | col4 | col5 |
 --------- ------ ------ ------ ------ 
| xx3     | abc  | ''   | abc  | ''   |
 --------- ------ ------ ------ ------ 
| av1     | b    | 456  | ''   | 456  |
 --------- ------ ------ ------ ------ 
| po2     | c    | ''   | c    | 789  |
 --------- ------ ------ ------ ------ 
 

что я хотел бы сделать, так это проверить значения " на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был

  --------- ------ ------ ------ ------ 
| LOCALID | col2 | col3 | col4 | col5 |
 --------- ------ ------ ------ ------ 
| xx3     | abc  | 123  | abc  | 123  |
 --------- ------ ------ ------ ------ 
| av1     | b    | 456  | ''   | 456  |
 --------- ------ ------ ------ ------ 
| po2     | c    | ''   | c    | 789  |
 --------- ------ ------ ------ ------ 
 

ive tried to change the statement

 for (let xx = 4; xx < columns.length; xx  ) {
       let element2 = columns[xx];
       string  = ', `'   element2   '`=

to

 for (let xx = 4; xx < columns.length; xx  ) {
       let element2 = columns[xx];
       string  = ',(CASE WHEN 

but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.




element2
}
string = ')'
string = ' ON CONFLICT(LOCALID) DO UPDATE'
string = ' SET `TIMESTAMP`=$TIMESTAMP, `ERROR`=$ERROR'
for (let xx = 4; xx < columns.length; xx ) {
let element2 = columns[xx];
string = ', `' element2 '`=это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) "строка представления", не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, ", abc, "]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения " на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ' WHERE LOCALID=$LOCALID'

console.log(string)

return string;
}

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) "строка представления", не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, ", abc, "]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения " на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ')'
string = ' ON CONFLICT(LOCALID) DO UPDATE'
string = ' SET `TIMESTAMP`=$TIMESTAMP, `ERROR`=$ERROR'
for (let xx = 4; xx < columns.length; xx ) {
let element2 = columns[xx];
string = ', `' element2 '`=

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) "строка представления", не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, ", abc, "]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения " на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ' WHERE LOCALID=$LOCALID'

console.log(string)

return string;
}
это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2 ‘!=»» THEN `’ element2 ‘`=

but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘)’
string = ‘ ON CONFLICT(LOCALID) DO UPDATE’
string = ‘ SET `TIMESTAMP`=$TIMESTAMP, `ERROR`=$ERROR’
for (let xx = 4; xx < columns.length; xx ) {
let element2 = columns[xx];
string = ‘, `’ element2 ‘`=

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘ WHERE LOCALID=$LOCALID’

console.log(string)

return string;
}это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}

to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘)’
string = ‘ ON CONFLICT(LOCALID) DO UPDATE’
string = ‘ SET `TIMESTAMP`=$TIMESTAMP, `ERROR`=$ERROR’
for (let xx = 4; xx < columns.length; xx ) {
let element2 = columns[xx];
string = ‘, `’ element2 ‘`=это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘ WHERE LOCALID=$LOCALID’

console.log(string)

return string;
}

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2 ‘ END)’;
}but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘)’
string = ‘ ON CONFLICT(LOCALID) DO UPDATE’
string = ‘ SET `TIMESTAMP`=$TIMESTAMP, `ERROR`=$ERROR’
for (let xx = 4; xx < columns.length; xx ) {
let element2 = columns[xx];
string = ‘, `’ element2 ‘`=это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘ WHERE LOCALID=$LOCALID’

console.log(string)

return string;
}

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘)’
string = ‘ ON CONFLICT(LOCALID) DO UPDATE’
string = ‘ SET `TIMESTAMP`=$TIMESTAMP, `ERROR`=$ERROR’
for (let xx = 4; xx < columns.length; xx ) {
let element2 = columns[xx];
string = ‘, `’ element2 ‘`=

это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.

element2
}
string = ‘ WHERE LOCALID=$LOCALID’

console.log(string)

return string;
}это очень хорошо работает для моих нужд (так как я могу вставить более 50 000 строк в течение нескольких секунд), но по второму запросу с сервера, допустим, у меня есть следующая таблица (на стороне клиента) «строка представления», не содержащая ничего (не null и т. Д.)


поэтому, если сервер отправит строку вниз

[xx3, abc, «, abc, «]

что происходит, если таблица обновляется сейчас до


что я хотел бы сделать, так это проверить значения » на сервере и убедиться, что он не обновляет их для клиента, чтобы результат был


ive tried to change the statement


to


but it does not seem to work, i have googled and searched through stackoverflow but nothing is unique to my problem most things deal with the SELECT or data already in a table. Which I always want the latest from the server I am not interested in the clients information it must be over written.