我想选择第一个可用值'name'
并将其设置为已采用。是否可以在一个查询中执行此操作?
这是我在两个查询中要做的事情:
my_table
id, name, active
$sql="SELECT id, name FROM my_table WHERE active='N' LIMIT 1";
$result = mysqli_query($con, $sql);
$row = mysqli_fetch_array($result);
$id=$row["id"];
$name=$row["name"];
$sql="UPDATE my_table SET active='Y' WHERE id=$id";
$result=mysqli_query($con, $sql);
答案 0 :(得分:0)
不,您无法在更新语句中返回值,因此,如果您要执行2个操作(选择和更新),则需要进行2次查询。
答案 1 :(得分:0)
不需要选择......
include FactoryGirl::Syntax::Default
答案 2 :(得分:0)
如果您不希望返回<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="btn agentBtn">
<input type="radio" id="agent" name="advanced-search-beds" checked >Agent
</label>
<label class="btn ownerBtn">
<input type="radio" id="owner" name="advanced-search-beds">Owner
</label>
<label class="btn otherBtn">
<input type="radio" id="other" name="advanced-search-beds">Other
</label>
,则只能执行name
声明。它将返回已更新的UPDATE
行。
假设count
是主键,根据返回的计数,您可以检查是否存在行(例如,如果id
为0则行不存在且如果{ {1}}为1,存在行。这将与count
答案 3 :(得分:0)
试试这个
update my_table set active = 'Y'
where id in
(select id from (SELECT id, name FROM my_table WHERE active='N' LIMIT 1)h);