ДОБАВЬТЕ КОЛОННУ, ЕСЛИ НЕ СУЩЕСТВУЕТ Node и Mysql - PullRequest
0 голосов
/ 21 октября 2019

Я знаю три способа решения этой проблемы.

  1. С помощью хранимой процедуры.
  2. Игнорирование ошибки и продолжение.
  3. Работа алгоритма в бэкэнде

Я бы решил с Node в моем бэкэнде. Поэтому я сделал это.

let exist = false
connection.query(`
     SELECT IF(count(*) = 1, 'Exist','Not Exist') AS result
     FROM information_schema.columns
     WHERE table_schema = 'database'
       AND table_name = 'table_name'
       AND column_name = '${columnName}';
    `,
    (error, results, fields) => {
       if (error) throw error
       else if (results[0].result === 'Exist') {
         exist = true
       }
     }
)
if (!exist) {
   connection.query(`
      ALTER TABLE ofertas
      ADD COLUMN ${columnName} VARCHAR(255);
      `,
      (error, result, fields) => {
        if (error) throw error
      }
  )
}

Этот код не работает. Я считаю, что проблема асинхронная, потому что Существуют всегда верно. Я использую MySQL модуль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...