Сегодня немного теряю при заполнении этого заявления. Мне нужно создать таблицу с произвольным именем с определенными столбцами и типами данных. В оболочке MySQL команда завершилась успешно, однако при запросе к базе данных на C ++ таблица не создается. Та же команда, MySQL Shell завершается успешно, соединитель C ++ возвращает «таблица должна иметь хотя бы один столбец». Вот код ниже.
// Function to create a table in MySQL
string CreateTable(string book_name, string author)
{
MYSQL* conn;
MYSQL_ROW row;
MYSQL_RES* res;
string query;
string query2;
int queryState;
int count = 0;
string table_name = book_name;
// Make all characters lowercase
conn = mysql_init(0);
conn = mysql_real_connect(conn, "localhost", "username", "password", "temp", 3306, NULL, 0);
if (conn)
{
cout << "Connection to database successful..." << endl;
query = "USE temp;";
query2 = "CREATE TABLE ";
query2 += table_name;
query2 += "(chapter LONGTEXT, page_number INT, paragraph INT, b_text TEXT);";
cout << "query2: " << query2 << endl;
cin.get();
queryState = mysql_query(conn, query2.c_str());
if (queryState != 0)
{
cout << "Error 1: " << mysql_error(conn) << endl;
cin.get();
}
return table_name;
}
else
{
// Unable to connect to the database
cout << "Unable to connect to the database..." << endl;
}
return table_name;
}