sql >> Database teknologi >  >> RDS >> Mysql

Forøg feltet i mysql-databasen ved hjælp af codeigniters aktive registreringssyntaks

Du kan gøre som angivet nedenfor:

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

Grunden til dette virker er, at den tredje (valgfri) FALSE parameter fortæller CodeIgniter ikke at beskytte den genererede forespørgsel med backticks (' ). Dette betyder, at den genererede SQL vil være:

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

Hvis du bemærker, fjernes backticks fra '(votes+1)' , hvilket giver den ønskede effekt med at øge stemmeattributten med 1.



  1. uploade flere billedfiler til php mysql galleri

  2. Hvad gør ::i PostgreSQL?

  3. mysql FEJL 2002 (HY000):Kan ikke oprette forbindelse til den lokale MySQL-server gennem socket '/var/run/mysqld/mysqld.sock' (2)

  4. Få en undtagelse ORA-00942:tabel eller visning findes ikke - ved indsættelse i en eksisterende tabel