我对 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/