我想知道node.js mysql是否提供了查询成功指标。我想做一个CREATE DATABASE IF NOT EXIST查询,如果数据库不存在并且创建正确,则执行一堆文件(创建我的表)。创建表的文件已经编码,我测试了它们。我只是不明白(由于真的是meh documentaton)如何做"如果数据库成功创建了x其他做y"部分逻辑。
const config = require("./database");
var connection = config.db.get;
connection.query(
"CREATE DATABASE IF NOT EXISTS " . config.database,
function (err, result, fields) {
if (err) throw err;
console.log("result: " + result);
if(!success) {
//do nothing, we assume the database adn tables are already setup.
}
else {
require("./models/company");
require("./models/locations");
}
});
如何根据查询是否成功创建布尔变量,假设在运行CREATE DATABASE查询之前数据库存在时它将为false。
答案 0 :(得分:1)
你的"如果不是,那么#34;部分抑制了错误"。所以你可以:
只需做一个"创建数据库ABC" - 这应该抛出一个错误。所以你可以做if (err) {...do something...}
您可以事先检查数据库是否存在这样的内容" SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME =' ABC'"