sql >> Database >  >> RDS >> Mysql

Verhoog het veld van de mysql-database met behulp van de actieve recordsyntaxis van codeigniter

Je kunt het als volgt doen:

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

De reden dat dit werkt, is omdat de derde (optionele) FALSE-parameter CodeIgniter vertelt om de gegenereerde query niet te beschermen met backticks (' ). Dit betekent dat de gegenereerde SQL zal zijn:

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

Als je het merkt, worden de backticks verwijderd uit '(votes+1)' , wat het gewenste effect oplevert door het stemmenkenmerk met 1 te verhogen.



  1. MySQL-draaitabelkolomgegevens als rijen

  2. Verbindingsreeks instellen met Entity Framework

  3. Typen SQL Server-cursor - Dynamische cursor | SQL Server-zelfstudie / TSQL-zelfstudie

  4. Tabel gewaardeerde functies in ORACLE 11g? (geparametriseerde weergaven)