0

これは機能しないようです:

 /// delete emails first
         $this->db->where('DateSent', 'DateSent!=NULL');
        $this->db->delete('Emails');

ループを使う必要があると思います。これを行う方法がわかりません。誰か助けてもらえますか?

乾杯

4

3 に答える 3

4

非常に便利なCodeIgniterユーザーガイドを見ると、演算子は2番目ではなく最初のパラメーターの一部として含まれている必要があることがわかります。これはそれを解決するはずです:

$this->db->where('DateSent !=', 'NULL');
$this->db->delete('Emails');
于 2012-08-30T14:30:31.207 に答える
1

これを試して:

$this->db->query('
    DELETE FROM `Emails`
    WHERE id NOT IN (
        SELECT id
        FROM (
            SELECT id
            FROM `Emails`
            WHERE `Emails`.`DateSent` = NULL
        ) foo
    );
);

SQLクエリから取得したクエリ:最新のNを除くすべてのレコードをテーブルから削除しますか?その後変更

于 2012-08-30T14:30:23.647 に答える
0

まず、選択した値を「$checked」という配列に格納する必要があります

$checked = implode(',',$checked);     //then it looks array('id1','id2','id3',..);

その後、あなたはとして削除することができます

$this->db->where("iUserId in",$checked);

$this->db->delete('my_table');

それはそれです。それは私のために働きます。私はそれがあなたのために役立つことを願っています。

于 2012-09-03T07:37:14.160 に答える