Unsolved MySql update
-
I am having trouble updating a MySql table using QSqlDatabase and QSqlQuery. This works:
query.prepare("UPDATE car SET cars_id='7' WHERE car_id='2'");
But
int last_cars_id = 7;
query.prepare("UPDATE car SET cars_id='last_cars_id' WHERE car_id='2'");
does not. So it must be related to
cars_id='last_cars_id'
I have also, among other things, tried
query.prepare("UPDATE car SET cars_id=last_cars_id WHERE car_id='2'");
but to no avail. It is probably a tiny fault, but I cannot see what it could be. -
@Buller said in MySql update:
query.prepare("UPDATE car SET cars_id='last_cars_id' WHERE car_id='2'");
It does not work this way. Your int variable has nothing to do with your query string.
Please take a look at https://doc.qt.io/qt-5/qsqlquery.html "Approaches to Binding Value" chapter. -
query.prepare("UPDATE car SET cars_id=" + QString::number(last_cars_id) + " WHERE car_id='2'");
or
query.prepare(QString("UPDATE car SET cars_id=%1 WHERE car_id='2'").arg(last_cars_id));
-
Got it working. Thanks.
-
@Buller
please set it as solved then :)