我需要使用不指定记录ID的更新命令运行脚本,所以我知道我必须将sql_safe_updates的标志变为OFF。
然而,我需要将旗帜恢复到以前的状态。
有没有办法在临时参数中保存标志值,然后运行我的更新并将其恢复到初始值?
(我需要保留部署过程的脚本,所以每次运行时我都不能手动更改标志的值)
更新: 那是关于我的剧本:
SET SQL_SAFE_UPDATES = 0;
UPDATE offensedb.offenses set Status = 6 , ClosingReason = 1 WHERE Status = 1;
SET SQL_SAFE_UPDATES = 1;
答案 0 :(得分:0)
在检查了mysql的转储文件后,我遇到了这些命令:
SET @SQL_SAFE_UPDATES=@@SQL_SAFE_UPDATES;
UPDATE offensedb.offenses set Status = 6 , ClosingReason = 1 WHERE Status = 1;
SET SQL_SAFE_UPDATES = @SQL_SAFE_UPDATES;
所以我想出了我的问题的答案是:
$array = array(0 => array('id', 'name', 'age'), 1 => array('id', 'name', 'age'));
array_walk($array, function($item, $key) {
// $key is 0 or 1
// $item is either id, name, age
});