javascript / mysql не возвращает сообщение в объекте результата - PullRequest
0 голосов
/ 07 марта 2020

Я хочу создать mysql таблицы, если они еще не созданы в моей базе данных mysql. сам код работает, но я хочу вывести сообщение, либо если была создана новая таблица, либо уже есть одна с тем же именем.

con.query("CREATE TABLE IF NOT EXISTS " + guild + " (id INT AUTO_INCREMENT PRIMARY KEY, userid INT, username CHAR(50), messages INT)", function (err, result) {
            if (err) throw err    
            console.log(result.message)
        })

, но если я печатаю result.message, оно всегда пусто, хотя, когда я сам создаю базу данных в mysql, я получаю возвращаемое сообщение, похожее на «0 строк затронуто», если это работает или иным образом »0 строк затронуто, 1 предупреждение (я): 1050 Таблица 'test' уже существует ".

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

для уточнения:

при печати результата, если таблицы "test" уже нет, она выглядит следующим образом:

OkPacket {
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}

, когда существует таблица с именем «test» уже присутствует, это выглядит так:

OkPacket {
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverStatus: 2,
  warningCount: 1,
  message: '',
  protocol41: true,
  changedRows: 0
}

атрибут «warningCount» не указывает, я не могу отличить предупреждение, это также может быть вызвано другими предупреждениями mysql выводит, так с это не сработает.

1 Ответ

0 голосов
/ 07 марта 2020

result имеет атрибуты, которые можно использовать для отображения предупреждений:

console.log(result.affectedRows + " row(s) affected");
console.log(result.warningCount + " warning(s)");
console.log(result.message);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...