Я использую QSqlQuery для вставки данных в базу данных MySQL. В настоящее время все, что меня волнует, - это заставить работать с MySQL, но в идеале я бы хотел сохранить это как можно более независимым от платформы.
В контексте MySQL я хочу получить код, который эффективно выполняет что-то вроде следующего запроса:
UPDATE table SET time_field=CURRENT_TIMESTAMP() WHERE id='5'
Следующий код - это то, что я пытался, но он не работает:
QSqlQuery query;
query.prepare("INSERT INTO table SET time_field=? WHERE id=?");
query.addBindValue("CURRENT_TIMESTAMP()");
query.addBindValue(5);
query.exec();
Я получаю ошибку: Incorrect datetime value: 'CURRENT_TIMESTAMP()' for column 'time_field' at row 1 QMYSQL3: Unable to execute statement
. Я не удивлен, поскольку я предполагаю, что Qt выполняет некоторую проверку типов, когда связывает значения.
Я также изучил документацию по Qt, но не могу найти ничего в API, специально предназначенном для поддержки функции MySQL CURRENT_TIMESTAMP () или любой другой СУБД.
Есть предложения?