sql >> データベース >  >> RDS >> Mysql

CodeIgniter-新規の場合はアクティブレコードを挿入するか、重複して更新する

    基本的にあなたが探しているのはこれかもしれません INSERT ... ON DUPLICATE KEY UPDATE -MySQLを使用していて、IDがテーブル上の一意のキーである場合。

    手動でクエリを作成し、$this->db->query()に渡す必要があります DBドライバーのヘルパー関数のような組み込みのアクティブレコードの代わりに関数を使用します。

    例:

    $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. SQLクエリでOracleスキーマサイズを表示するにはどうすればよいですか?

    2. SQL:1つのテーブルに存在しないキーを選択します

    3. トランザクションログの監視

    4. SQL Server(T-SQL)から電子メールでクエリ結果を送信するときにパディングを削除する