Alterar dados informando a coluna

Bom gente, antes de tudo, boa noite…

eu tenho uma tela onde ela fará as alterações do banco, até ai tudo bem, porém…eu queria poder informar (através de um jtextfield) o campo (coluna) que será modificado, só que não está rodando de forma alguma, e eu não sei onde que estou errando.

O código é esse:

try {
PreparedStatement pst = conn_mysql.conn_mysql.prepareStatement
(“update virus set ? = ‘?’ where nome = ‘?’”);
pst.setString (1, campo.getText());
pst.setString (2, valor.getText());
pst.setString (3, id.getText());
pst.executeUpdate();
pst.close();
ImageIcon conectado1 = new ImageIcon(getClass().getResource("/
Ícones/confirmate_green_64x.png"));
Image img1 = conectado1.getImage();
confirmação.setIcon(new ImageIcon(img1));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, “Deu Zebra !\n”+e);
}

esse foi o ultimo erro que deu:

parameter index out of range (2> number of parameterrs, which is 1)

Se alguém ai souber onde que estou errando vou agradecer.
Agradeço a atenção de todos.