Mam pewien problem związany z usuwaniem i dodawaniem kolumny w istniejącej już tabeli.
Metoda wykorzystywana do tego celu wygląda tak:
//QString query = "ALTER TABLE tab DROP COLUMN col";
bool DBOperationsC::ADD_Drop(QString query)
{
QSqlQuery Query(query);
if (!Query.exec())
{
qDebug() << Query.lastError().text();
int code = Query.lastError().number();
qDebug() << code;
emit Msg(code);
return false;
}
return true;
}
Jak wygląda problem?
Otóż za każdym razem jak wywołam usuwanie kolumny to otrzymuje:
"Can't DROP 'col'; check that column/key exists QMYSQL: Unable to execute query"
error code: 1091
a dla dodawania:
"Duplicate column name 'col' QMYSQL: Unable to execute query"
error code: 1060
Z tym, że oba te polecenia są wykonywane przez serwer MySql ponieważ wynik końcowy jest tak jak powinien być ..
O co tutaj chodzi ? Co może być nie tak ? (znalazłem w sieci też taką hipotezę, że jest to problem po stronie bazy danych i można zignorować te błedy.. ale nie wiem ile w tym prawdy..).