因此,我将检查我们的数据库,并删除一些基本上与其他访问级别重复的不需要的访问级别。我们的数据库结构有一列
user_level
它是一个枚举,有一组不同的字符串
(我知道这不是运行用户访问级别的好方法,但这是原始开发人员的做法)
.
我要做的是创建一个回滚,该回滚将使用相应的用户级别保存所有用户的ID,以便在几天内,如果我们看到我们的访问级别有问题,我们可以回滚,而不会弄乱自运行update命令以来数据库中发生的任何其他更改。
我想做的只是
SELECT users.id, users.user_level
FROM users
WHERE users.user_level NOT IN ('Program Administrator','Executive','Sales Manager / Office Manager/ Company President');
然后以这种方式操作数据,但我真正想要的是让它为我创建一个查询,以便我们可以将其放入我们的票据跟踪系统,我们所要做的就是将查询复制/粘贴到我们的SQL工具中,以运行它进行回滚。
不过,我不确定最好的方法是什么。我们的数据库中有大约58000条用户记录。
所以我的问题是,是否有人知道我应该如何进行,可能还有这个自定义回滚的一些例子。
编辑:
所以我在寻找一个与这个PHP代码相同的代码,但是对于MySQL
while ($user = mysql_fetch_array($databaseObj->result)) {
echo "UPDATE users SET user_level = '". $user['user_level'] ."' WHERE id='".$user['id']."'";
echo "<br>";
}
它将输出
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='80006'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='48'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='42'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='47'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='49'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='52'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='58'
UPDATE users SET user_level = 'Sales Person/Packager' WHERE id='60'
然后我可以将其保存到.sql文件中,并在需要时运行该文件。