首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在1个字段等于某个值而其他字段不等于某个值的情况下执行数据库行DeleteAll

在1个字段等于某个值而其他字段不等于某个值的情况下执行数据库行DeleteAll
EN

Stack Overflow用户
提问于 2010-08-07 21:22:59
回答 1查看 5.8K关注 0票数 0

我正在努力做到这一点,我想基本上做一个数据库deleteAll,其中一个字段等于某个值,而另一个字段不能等于某个值。它用于删除重复的行,所以我想删除除一行之外的所有行。我在下面尝试的方法不起作用,我希望得到任何建议:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $conditions = array (
  "Prox.proxy" => $currentproxytocheck,
  "AND" => array (
   "NOT" => array (
    "Prox.proxyid" => $currentproxyid
   )
  )
 );

$this->Prox->deleteAll(array( 'conditions' => $conditions)); 

编辑:

我的$conditions数组的打印输出是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [Prox.proxy] => 62.58.179.2:80
    [AND] => Array
        (
            [NOT] => Array
                (
                    [Prox.proxyid] => 36829
                )

        )

)

来自CAkephp的错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Notice (8): Array to string conversion [CORE/cake/libs/model/datasources/dbo_source.php, line 2193]
Warning (512): SQL Error: 1054: Unknown column 'conditions' in 'where clause' [CORE/cake/libs/model/datasources/dbo_source.php, line 673]   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-07 21:26:25

syntax for deleteAllfind不同

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deleteAll(mixed $conditions, $cascade = true, $callbacks = false)

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$this->Prox->deleteAll($conditions); 

你的数组可以这样构建:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$conditions = array (
    "Prox.proxy" => $currentproxytocheck,
    "Prox.proxyid <>" => $currentproxyid
);

这是相同的事情,但更具可读性。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3432084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文