一般而言,我对SQL不太熟悉,我想知道如何使用相同的变量来组合这两个单独的更新字符串:
$queryA = 'UPDATE table SET redirectsToId ='.$redirectId.' WHERE id='.$id;
$queryB = 'UPDATE table SET redirectFromId ='.$id.' WHERE id='.$redirectId;
预先感谢您的任何建议。
编辑:一般来说,最有效的方法是什么?
最佳答案
您真的不需要。在大多数数据库中,您可以将两个语句包装在一个事务中,以便它们“同时”生效。
但是,您也可以执行以下操作:
UPDATE table
SET redirectsToId = (CASE WHEN id = $id THEN $redirectId ELSE redirectsToId END),
redirectsFromId = (CASE WHEN id = $id THEN redirectsFromId ELSE $id)
WHERE id IN ($id, $redirectId);
关于php - 如何使用mysqli和PHP用代表另一行ID的变量更新两列的不同行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42329119/