Mysql
 sql >> Base de données >  >> RDS >> Mysql

Champ d'incrémentation de la base de données mysql à l'aide de la syntaxe d'enregistrement actif de codeigniter

Vous pouvez faire comme indiqué ci-dessous :

$this->db->where('id', $post['identifier']);
$this->db->set('votes', 'votes+1', FALSE);
$this->db->update('users');

La raison pour laquelle cela fonctionne est que le troisième paramètre FALSE (facultatif) indique à CodeIgniter de ne pas protéger la requête générée avec des backticks (' ). Cela signifie que le SQL généré sera :

UPDATE users SET votes= votes + 1 WHERE id= '44'

Si vous remarquez, les backticks sont supprimés de '(votes+1)' , ce qui produit l'effet souhaité d'incrémentation de l'attribut votes de 1.