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

CodeIgniter- aktiv registreringsindsæt, hvis ny eller opdatering på duplikat

Grundlæggende kan det, du leder efter, være denne INSERT ... ON DUPLICATE KEY UPDATE - forudsat at du bruger MySQL og dit id er en unik nøgle på bordet.

Du skal manuelt konstruere forespørgslen og sende den til $this->db->query() funktion i stedet for enhver indbygget aktiv post som hjælpefunktioner i DB-driveren.

Eksempel:

$sql = 'INSERT INTO menu_sub (id, name, desc, misc)
        VALUES (?, ?, ?, ?)
        ON DUPLICATE KEY UPDATE 
            name=VALUES(name), 
            desc=VALUES(desc), 
            misc=VALUES(misc)';

$query = $this->db->query($sql, array( $id, 
                                       $this->validation->name, 
                                       $this->validation->desc, 
                                       $this->validation->misc
                                      ));


  1. Er der en Max-funktion i SQL Server, der tager to værdier som Math.Max ​​i .NET?

  2. Sikre dine Mongo Clusters med SSL

  3. Sådan fjerner du kolonneoverskrifterne, når du sender forespørgselsresultater via e-mail i SQL Server (T-SQL)

  4. LOWER() – Konverter til små bogstaver i PostgreSQL