当前位置: 首页 > 知识库问答 >
问题:

MariaDB,在条件不工作的情况下删除

管景天
2023-03-14

我正在建立一个应用程序,并使用MariaDB作为我的数据库。我有一张桌子“kick_votes”。其主键包含三个字段:

    null
 DELETE FROM kick_votes WHERE (user_id=86 AND group_id=10);
 DELETE FROM kick_votes WHERE vote_id=2;
DELETE FROM kick_votes WHERE (user_id=86 AND group_id=10) OR vote_id=2;

共有1个答案

方恺
2023-03-14

似乎键的存在实际上并不影响错误。从mariadb源代码中,mysql_delete:

const_cond= (!conds || conds->const_item());
safe_update= MY_TEST(thd->variables.option_bits & OPTION_SAFE_UPDATES);
if (safe_update && const_cond)
{
  my_message(ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE,
             ER_THD(thd, ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE), MYF(0));
  DBUG_RETURN(TRUE);
}

所以唯一的变体是关闭安全模式:

set @@sql_safe_updates= 0;
 类似资料:
  • 我带着我的下一个问题来找你xd这是我的JS: 为什么不使用“addClass(”d-block“)函数呢?但是我的”else“很好。 这是我的HTML

  • 我有HTML+CSS页面,其中有两个按钮: 我想让“顶级评论”默认可见。所以在本页的最后,我将简单的JavaScript 自动点击“顶部评论”按钮。 在我的开发环境中,一切都运行良好。但当将代码上传到启用CloudFlare的生产服务器时。JavaScript click()函数不起作用。 我已经为这个问题给CloudFlare的支持写了信,但两天后仍然没有任何回应。 对于我如何调试为什么这个Ja

  • 我已经将Jenkins build配置为构建gradle项目并在其上运行测试(使用connectedInstrumentTest),但构建在启动几秒后失败。 com.android.ddmlib.installexception在com.android.ddmlib.device.installpackage(device.java:884)在com.android.builder.testing

  • 问题内容: 很抱歉那个愚蠢的问题。如何在javascript切换大小写语言元素中为案件使用条件?像下面的示例一样,当变量<= 5和> 0 时,大小写应该匹配;但是,我的代码不起作用: 感谢您的任何建议! 问题答案: 这有效: 此答案的先前版本认为括号是罪魁祸首。实际上,括号在这里是无关紧要的-唯一必要的是您的case表达式必须为布尔值。 之所以起作用,是因为我们将给开关的值用作比较的依据。因此,同

  • 问题内容: 我正在使用nodejs和expressjs框架从服务器下载文件’jsonFile.json’。 我正在使用以下代码 但这会导致对整个文件内容的响应。 我期望浏览器要我将文件保存在本地磁盘中。 如何将文件保存在本地磁盘中? 问题答案: 让Express设置正确的标头,然后执行以下操作: (doc) 编辑: 由于您是通过AJAX调用进行请求的,因此您必须更改设置,因为大多数(全部?)浏览器

  • 问题内容: 我有一个数组,当对象被修改时,我会将对象推送到该数组。如果用户按下,那么我将遍历并为他们应用适当的API调用。 如果API调用成功完成,我想从中删除该项目,否则将其保留在内部并通知用户某些项目未成功保存。我目前有这个(在AngularJS中) 有更好的方法吗? 问题答案: 您已经在使用诺言,您可能希望端到端地兑现。另外,您过早地兑现了承诺。 假设您不愿自我证明自己处于次优状态,那么您仍