我正在使用 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 文档,并且我知道如何,但是我在专门为支持 MySQL 的 CURRENT_TIMESTAMP() 函数或任何其他 DBMS 函数而设计的 API 中找不到任何东西。
有什么建议么?