Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在mySQL中添加带条件的值吗_Mysql_Sql_Datetime_Sql Update_Where Clause - Fatal编程技术网

我可以在mySQL中添加带条件的值吗

我可以在mySQL中添加带条件的值吗,mysql,sql,datetime,sql-update,where-clause,Mysql,Sql,Datetime,Sql Update,Where Clause,我试图给一个列添加一个数值,该列的“AuthDate”是“06/05/20”,而“Time”是“1P-2P” 我运行了以下查询: update main set calls = 2072 where authdate = '06/05/20' and time = '1P - 2P'; *main=表名 calls=列名 但我得到错误代码1175,你正在使用安全更新模式 有人知道我出错的原因吗?您的数据库或会话已被删除。除其他事项外,这禁止不具有where子句的update,或具有列不是键(未

我试图给一个列添加一个数值,该列的“AuthDate”是“06/05/20”,而“Time”是“1P-2P”

我运行了以下查询:

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

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


有人知道我出错的原因吗?

您的数据库或会话已被删除。除其他事项外,这禁止不具有
where
子句的
update
,或具有列不是键(未索引)的
where
子句的
update
。即使存在索引,但optimize选择不使用它,查询也会中止

这更像是一个防止初学者犯错误的选项。如果您确实知道自己在做什么,可以在会话级别禁用该选项:

set sql_safe_updates = 0;
旁注:我对状况有怀疑
authdate='06/05/20'

  • 如果
    autdate
    属于类似
    date
    的数据类型,则应为其提供合法的日期字符串,如:
    authdate='2020-06-05'
    (或
    '2020-05-06'
    ?)

  • 如果是字符串,那么。。。考虑将其存储为<代码>日期<代码>;由于许多原因,将日期存储为字符串是不好的做法,应该避免


请向我们显示整个错误消息。它成功了!正如您提到的,authdate当前存储为字符串,需要存储为日期。谢谢你的帮助