将值设置为 NULL,其中两个值均为 0
Set value to NULL where both values are 0
UPDATE `table` SET `repeat_id` = NULL WHERE (`repeat_id` == 0 AND `entry_type` == 0)
我有点紧张,只是尝试一下,我相当确定这会做我想做的,这是针对 repeat_id 和 entry_type 都为 0 的每一行设置 repeat_id 到 NULL(将 entry_type 保留为 0)...
我在这里犯了什么严重的错误吗?代码真的会这样做吗?对于 SQL.
我还是个新手
您只需要更正语法即可。
UPDATE `table` SET repeat_id = NULL
WHERE repeat_id = 0 AND entry_type = 0
注意:single-quote
s 是常量值。此外,相等性检查只需要 =
.
你必须使用反引号而不是引号,而不是 ==
你必须只使用一个 =
UPDATE `table`
SET
`repeat_id` = NULL
WHERE
`repeat_id` = 0 AND `entry_type` = 0
无论如何,最好不要在生产数据库上尝试查询 - 首先在开发 table 或原始 table 的副本上尝试 运行 它。最终您可能希望将更新限制为几条记录:
UPDATE `table`
SET
`repeat_id` = NULL
WHERE
id in (1,2,3,4)
and `repeat_id` = 0 AND `entry_type` = 0
这将 运行 仅查询记录 1、2、3、4(如果您有 id 列)。
其他两个答案解决了您的语法错误。这一个描述了一种在更新时谨慎行事的方法。从具有与更新查询相同的 where 子句的 select 查询开始:
select *
from table
where repeat_id = 0
and entry_type = 0;
查看输出。找到可以让您只更新一条记录的东西。
update table
set repeat_id = null
where repeat_id = 0
and entry_type = 0
and further filters to restrict update to one record;
运行 更多 select 查询以检查更新结果。当您有足够的信心时,运行原始更新查询。
UPDATE `table` SET `repeat_id` = NULL WHERE (`repeat_id` == 0 AND `entry_type` == 0)
我有点紧张,只是尝试一下,我相当确定这会做我想做的,这是针对 repeat_id 和 entry_type 都为 0 的每一行设置 repeat_id 到 NULL(将 entry_type 保留为 0)...
我在这里犯了什么严重的错误吗?代码真的会这样做吗?对于 SQL.
我还是个新手您只需要更正语法即可。
UPDATE `table` SET repeat_id = NULL
WHERE repeat_id = 0 AND entry_type = 0
注意:single-quote
s 是常量值。此外,相等性检查只需要 =
.
你必须使用反引号而不是引号,而不是 ==
你必须只使用一个 =
UPDATE `table`
SET
`repeat_id` = NULL
WHERE
`repeat_id` = 0 AND `entry_type` = 0
无论如何,最好不要在生产数据库上尝试查询 - 首先在开发 table 或原始 table 的副本上尝试 运行 它。最终您可能希望将更新限制为几条记录:
UPDATE `table`
SET
`repeat_id` = NULL
WHERE
id in (1,2,3,4)
and `repeat_id` = 0 AND `entry_type` = 0
这将 运行 仅查询记录 1、2、3、4(如果您有 id 列)。
其他两个答案解决了您的语法错误。这一个描述了一种在更新时谨慎行事的方法。从具有与更新查询相同的 where 子句的 select 查询开始:
select *
from table
where repeat_id = 0
and entry_type = 0;
查看输出。找到可以让您只更新一条记录的东西。
update table
set repeat_id = null
where repeat_id = 0
and entry_type = 0
and further filters to restrict update to one record;
运行 更多 select 查询以检查更新结果。当您有足够的信心时,运行原始更新查询。