mysql - 如果 Node 和 Mysql 不存在,则添加列
问题描述
我知道解决这个问题的三种方法。
- 带有存储过程。
- 忽略错误并继续。
- 在后端工作算法
我会在我的后端使用 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 模块
解决方案
推荐阅读
- javascript - 在某个时间 t 或事件触发后解决一个承诺,以先发生者为准
- javascript - net::ERR_EMPTY_RESPONSE 当 API 请求返回响应时
- php - 如何将父类别前缀到子类别php
- javascript - 如何在javascript存储过程雪花中循环日期字符串参数
- python - 无法将滚动条添加到 Python GTK3 中笔记本中存在的 TreeView
- facebook - 使用 facebook 页面在 facebook 群组上发帖
- javascript - 如何在葡萄组件的模型或视图中获取葡萄编辑器实例
- javascript - 如何按月对日期值 dd-mm-yyyy 的选择元素选项进行排序?
- apache-kafka - 如何查找每个主题的保留字节数
- ios - GameKit 中的 resolveConflictingSavedGames 到底是做什么的?