我试过
QSqlQuery query;
query.prepare("DELETE FROM names WHERE id_col = :ID OR id_parent = :ID");
query.bindValue(":ID", idVal);
query.exec();
假设 idVal 将被绑定两次,但执行此查询仅删除 id_parent = idVal 的行,而 id_col = idVal 保持未删除。所以只有第二次 idVal 绑定到查询。
当我将其重写为
QSqlQuery query;
query.prepare("DELETE FROM names WHERE id_col = ? OR id_parent = ?");
query.bindValue(0, idVal);
query.bindValue(1, idVal);
query.exec();
一切都按预期工作。
是否可以在 QSqlQuery 中多次使用一个命名占位符?