删除SQL / codeigniter中的多行

时间:2012-08-30 14:21:25

标签: sql codeigniter

这似乎不起作用:

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

我想我需要使用一个循环。不知道怎么做这个。有人可以帮忙吗?

干杯

3 个答案:

答案 0 :(得分:4)

如果您要查看非常有用的CodeIgniter用户指南,您会看到操作符应作为第一个参数的一部分而非第二个参数。这应该解决它:

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

答案 1 :(得分:1)

试试这个:

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

查询取自SQL query: Delete all records from the table except latest N?然后修改

答案 2 :(得分:0)

首先,您需要将所选值存储到数组中,并说“$ checked”

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

然后你可以删除为

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

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

那就是它。它对我有用。我希望它对你有用。接受它是否有用