首页 > 解决方案 > 如果 Node 和 Mysql 不存在,则添加列

问题描述

我知道解决这个问题的三种方法。

  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 模块

标签: mysqlnode.jsnpm

解决方案


推荐阅读