MySQL в таблице должен быть хотя бы один столбец - PullRequest
0 голосов
/ 01 августа 2020

Сегодня немного теряю при заполнении этого заявления. Мне нужно создать таблицу с произвольным именем с определенными столбцами и типами данных. В оболочке 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;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...