Как получить ответ, какие базы данных существуют с использованием команды mysql_query(&mysql,"SHOW DATABASES");
Пытаюсь Понять какие базы данных существуют и если нет той которая нужна создать ее. Для этого написал вот такой код
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name");
if(!mysql_real_connect(&mysql, "localhost", "", "", "test", 0, NULL, 0))
{
qDebug() << "Error: can'tconnecttodatabase\n" << mysql_error(&mysql);
}
else
{
qDebug() << "Success!\n";
}
mysql_set_character_set(&mysql, "utf8");
qDebug()<<"connectioncharacterset: "<<mysql_character_set_name(&mysql) <<endl;
mysql_query(&mysql,"SHOW DATABASES");
Но как получить ответ на запрос 'SHOW DATABASES'? Что нужно еще дописать?
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Просто создай базу через mysql_create_db() - 0, если база данных создана успешно, значит её не было. Если не 0 - значит она уже есть или произошла другая ошибка. Получаешь её через mysql_error.
Может выполнить
CREATE DATABASE IF NOT EXISTS db_name;
и посмотреть ответ. В плюсах
if (mysql_query(&mysql, "CREATE DATABASE IF NOT EXISTS db_name;") == 0)
{
rows = mysql_affected_rows(&mysql );
if (rows == 0) {
printf("Exists\n");
}
else {
printf("Created\n");
// create_tables(&mysql);
}
}
Если это не подходит, то:
SHOW DATABASES LIKE 'db_name';
Нужно читать результат по строкам через