创建自定义回滚
问题描述:
因此,我正在浏览我们的数据库并删除一些不必要的访问级别,这些级别基本上是其他级别的重复级别。我们的数据库结构有一栏user_level
这是有一堆不同的字符串(我知道这是不是运行用户访问级别的好方法,但是这是当初开发商如何使它)的枚举。
我所希望做的是创造一个回滚,将保存所有的USER_ID与他们适当user_level,这样在几天内,如果我们看到,我们正与我们的访问级别的问题,我们可以回滚没有搞乱任何其他自从我们运行更新命令后,数据库中发生的更改。创建自定义回滚
我在想什么做的只是做一个
SELECT users.id, users.user_level
FROM users
WHERE users.user_level NOT IN ('Program Administrator','Executive','Sales Manager/Office Manager/ Company President');
然后只需操纵数据的方式,但我真的想是有它为我创建一个查询,所以我们可以把它放在我们的票据跟踪系统,我们所要做的就是将查询复制/粘贴到我们的sql工具中以运行回滚。
但是我不知道最好的方法是什么。我们的数据库中有约58,000个用户记录。
所以我的问题是,没有任何人有这种风俗回滚我应该如何进行任何想法和可能的一些例子。
编辑:
所以要寻找的这个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文件,只要运行这个文件,我也需要。
答
我刚刚去了PHP的方法,创建一个PHP脚本来查询SQL更新命令到一个文件数据库和输出。
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'