sql >> Databasteknik >  >> RDS >> Mysql

Öka fältet i mysql-databasen med hjälp av codeigniters aktiva postsyntax

Du kan göra enligt nedan:

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

Anledningen till att detta fungerar är att den tredje (valfria) FALSE-parametern säger åt CodeIgniter att inte skydda den genererade frågan med backticks (' ). Detta betyder att den genererade SQL-koden blir:

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

Om du märker det tas backtickarna bort från '(votes+1)' , vilket ger den önskade effekten av att öka röstattributet med 1.



  1. uppdatera tabell med data från annan tabell om inte null?

  2. Hur man skickar strängarray i SQL-parameter till IN-sats i SQL

  3. PostgreSQL-mod:Vad är "resjunk"?

  4. Tillåter MySQL återuppringningar i C så att jag kan meddelas när en förändring sker?