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

我可以在mySQL中添加带有条件的值吗[重复]

吕俊哲
2023-03-14

我试图向“AuthDate”为“06/05/20”且“Time”为“1P -2P”的列添加一个数值。

我运行了以下查询:

update main
set calls = 2072
where authdate = '06/05/20'
and time = '1P - 2P';

*main=表名调用=列名

但是我得到错误代码1175你正在使用安全更新模式

有人知道我为什么会出错吗?

共有1个答案

云啸
2023-03-14

您的数据库或会话启用了选项sql_safe_updates。除其他外,这禁止更新没有where子句或具有列不是键(未编入索引)的where子句的。即使有索引,但优化选择不使用它,查询也会中止。

这更多的是一种防止新手犯错的选择。如果您真的知道自己在做什么,您可以在会话级别禁用该选项:

set sql_safe_updates = 0;

旁注:我怀疑情况authdate='06/05/20'

> < li>

如果< code>autdate是类似于< code>date的数据类型,那么您应该给它一个合法的日期字符串,例如:< code > authdate = ' 2020-06-05 ' (或< code>'2020-05-06'?)

如果它是一个字符串,那么...考虑将其存储为日期;由于许多原因,将日期存储为字符串是不明智的做法,应避免

 类似资料:
  • 问题内容: 是否可以添加我指定为NOT NULL的列,我不想指定DEFAULT值,但是MS-SQL 2005说: ALTER TABLE仅允许添加可以包含空值或指定DEFAULT定义的列,或者要添加的列是Identity或timestamp列,或者如果不满足任何先前条件,则该表必须为空才能允许添加本专栏的内容。无法将列“ test”添加到非空表“ shiplist”中,因为它不满足这些条件。 如果

  • 问题内容: 我想在查询中添加一个子句,但 有条件地 。具体来说,我只希望在URL中传递单独的querystring参数时才添加它。这可能吗?如果可以,我将如何去做呢? 问题答案: 您可以将查询存储在变量中,应用条件where子句,然后执行它,如下所示:

  • 问题内容: 我正在对MySQL数据库进行“ select sum(foo)from bar”查询,该数据库总计7.3mm记录,每次运行大约需要22秒。在MySQL中有加快总和的技巧吗? 问题答案: 不,您不能加快功能本身。问题实际上是您要选择730万条记录。MySQL必须扫描整个表,而730万是一个很大的数字。实际上,它完成得如此之快给我留下了深刻的印象。 您可以采用的策略是将数据分成较小的子集(

  • 问题内容: 我有一个枚举,看起来像 我想做类似的事情 我出于教学目的简化了该示例,但是对于我的实际示例而言,这对我真的很有用。我可以用Java做到吗? 问题答案: 是的Enum是Java中的类: 但是在您的真实系统中,由于有固定类型的动物,我也将其设为Enum。 还要注意,使任何实例变量也很重要。 您可以在Java Language Specification中 找到有关它的更多详细信息。

  • 我正在做一些实验,在Tomcat中的openrdf workbench webapp中导入用turtle语言编写的三元组,它包含了一个SPARQLendpoint。 我想知道如果有了海龟,或者,一般来说,在RDF/RDFS中,是否有可能在所有(隐式)主体上有条件地添加某个谓词/对象声明,以证明另一个谓词/对象的存在。 例如,如果我定义了以下三元组: 我想自动将以下谓词/主语添加到与谓词=和obje

  • 我可以在Angular中添加任何属性到窗口对象吗?一些事情,比如: 我尝试使用对象windows bat时出错: 类型“Window”上不存在属性“attr”。