gpt4 book ai didi

php - 根据选择更新表,可能使用锁定?

转载 作者:行者123 更新时间:2023-11-30 00:07:39 28 4
gpt4 key购买 nike

我正在使用 php,并尝试使用 mysql 选择以下内容:

$state_id = $sql->query('select state_id from table1 where id='.$sql->escape_string($_REQUEST['id']));

if ($state_id == $_REQUEST['state_id']) {
$res = $sql->query('update table1 set state_id=state_id+1, state="'.$sql->escape_string($_REQUEST['state']).'" where id='.$sql->escape_string($_REQUEST['id']));
echo 1; // Passes
} else {
echo 0; // Fails
}

我希望仅当 state_id 等于 $_REQUEST['state_id'] 时才进行更新,但我也想将此条件的结果返回给客户端,所有这些都在一个原子操作中完成。我的想法是也许我可以锁定 table1 表并在回显 0 或 1 之前解锁它。

有什么更好的方法可以做到这一点?

最佳答案

我想你可能想要一个“SELECT .. FOR UPDATE”:

如果您使用 InnoDB 表:

http://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html

关于php - 根据选择更新表,可能使用锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24383049/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com