将值设置为NULL,其中两个值均为0

时间:2016-01-13 14:37:56

标签: mysql sql phpmyadmin

<form class="form-inline well col-md-10">
<div class="item">
<div class="input-group input-group-sm input_item">
  <span class="input-group-addon" id="sizing-addon1">@</span>
  <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div>
<div class="input-group input-group-sm input_item">
  <span class="input-group-addon" id="sizing-addon1">@</span>
  <textarea class="form-control" placeholder="Username" aria-describedby="sizing-addon1"></textarea>
</div>
<div class="input-group input-group-sm input_item">
  <span class="input-group-addon" id="sizing-addon1">@</span>
  <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div>
<div class="clearfix">

</div>
</div>
</form>



.form-inline .item .input_item{
  width:calc(50% - 7.5px);
  margin-bottom:15px;
}
.form-inline .item .input_item textarea{
  min-height:75px;
}
.form-inline .item .input_item:first-child{
  float:left;
}
.form-inline .item .input_item:nth-child(2){
  float:right;
}

.form-inline .item .input_item:last-child{
  float:left;
}

我有点紧张,只是尝试一下,我有点确定这会做我想要的,这对于每一行,其中repeat_id和entry_type都是0,将repeat_id设置为NULL(将entry_type保留为0)。 ..

我在这里犯过任何严重的错误吗?代码实际上会这样做吗?在谈到SQL时,我很陌生。

3 个答案:

答案 0 :(得分:2)

您只需要更正语法。

UPDATE `table` SET repeat_id = NULL
WHERE repeat_id = 0 AND entry_type = 0

注意:single-quote s用于常量值。此外,等式检查仅需要=

答案 1 :(得分:2)

您必须使用反引号代替==,而不是使用引号,而只需使用一个=

UPDATE `table`
SET
  `repeat_id` = NULL
WHERE
  `repeat_id` = 0 AND `entry_type` = 0

无论如何,在生产数据库上尝试查询总是一个好主意 - 尝试先在开发表或原始表的副本上运行它。最终,您可能希望将更新限制为几条记录:

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列)。

答案 2 :(得分:1)

其他两个答案解决了语法错误。这个描述了一种谨慎对待更新的方法。从具有与更新查询相同的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;

运行更多选择查询以检查更新结果。如果您有足够的信心,请运行原始更新查询。