本文最后更新于 2024-02-03 21:19:23
1. oj数据库名字解析 1. compileinfo 编译信息 存储的地方,例如
报错:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Main.c: In function 'main' : Main.c:11 :9 : error: 'b' undeclared (first use in this function) 11 | b=b/2 ; | ^ Main.c:11 :9 : note: each undeclared identifier is reported only once for each function it appears in Main.c:19 :17 : error: expected ';' before 'return' 19 | printf ("\n" ) | ^ | ; 20 | return 0 ; | ~~~~~~ Main.c:5 :5 : warning: ignoring return value of 'scanf' , declared with attribute warn_unused_result [-Wunused-result] 5 | scanf ("%d" ,&n); | ^~~~~~~~~~~~~~
这种信息都存在这里
2. contest 比赛目录 的存储的地方
里面的信息都是比赛当时的记录,比赛结束后的题目记录不存在
3. loginlog 登录日志 即用户登录时间、IP的记录
4. news 前端新闻 的存储记录
5. online 6. privilege 用户权限 存储的地方
7. problem 题目的创建时间 的储存处
8. runmtimeinfo 运行时间信息
例如:类似这种信息的存储
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 答案错误的样例: ========[test1.out]========= Expected | Yours This is not a quadratic equation | -nan -inf ============================== time_space_table: /1023 /sample.in:AC mem=2184 k time=4 ms /1023 /sample1.in:AC mem=2184 k time=4 ms /1023 /sc.in:AC mem=2184 k time=4 ms /1023 /test0.in:AC mem=2184 k time=5 ms /1023 /test1.in:WA mem=2184 k time=4 ms /1023 /test2.in:AC mem=2184 k time=5 ms 答案正确的样例: time_space_table: /1043 /sample.in:AC mem=1200 k time=4 ms /1043 /test0.in:AC mem=1200 k time=5 ms /1043 /test1.in:AC mem=1200 k time=4 ms /1043 /test2.in:AC mem=1200 k time=4 ms
9. solution 用户的提交信息 的存储
10. source_code 和 source_code_user 提交的源代码 的存储
可能两者有区别!!!但是我不知道 >_<
11. user 用户信息的存储
2. 删除账户 1.信息删除(不删除其做题数据) 进到数据库user表里直节删除用户
该方法删除之后,用户在次用同样的用户id注册时,会自动连接到原来的数据;
比如:
1 2 3 开始存在了用户 A ,他做了一些题目 将他信息删除后,又重新注册了和用户 A 删除之前同样的用户id 那么,第二次注册的用户会获取 A 原本的数据,即 A 的所有做题数目
2.彻底删除(包括做题数据) 字面意思hhh
比如:
1 2 3 开始存在了用户 A ,他做了一些题目 将他信息删除后,又重新注册了和用户 A 删除之前同样的用户id 那么,第二次注册的用户,就是等同于白版,不会继承 A 的题目信息
3、删除步骤 在删除之前一定要先进行该步骤
要考虑到删除一个用户之后,题目的通过量,没通过量的数据的修改!!!!!
通过表solution 中的pass_rate 来得出用户对某个题目的通过与否??,,pass_rate==1.0表示这道题目通过,由于题目统计只有通过和没通过,所以不必考虑没通过的原因
影响其他表中的删除:
要先将 1 中的信息删除完,才能删除 4 中的
1: compileinfo 和 runtimeinfo 和 source_code 和 source_code_user 表中的solution_id要删除对应人的 “ 提交编号 ”(有点复杂,要找到对应人的提交编号)
4: solution 表中存储的所有通过与不通过的提交记录不要在第一个删除的前面,提前删除)
不影响其他表:
2: loginlog表中的用户登录日志要 通过对应的user_id 删除(简单,不影响其他的删除,可以提前删除)
3: privilege表中的权限 通过对应的 user_id 删除(简单,不影响其他的删除,可以提前删除)
5: users 表中的用户可以删除,(简单可以提前删除)
4、修改用户 id步骤 注意修改语句写法
loginlog 、privilege 、solution 、users 表中的 user_id
1 UPDATE 上述表 SET `user_id`= 要修改的值 WHERE `user_id`= 要修改的用户;
solution 、users 表中的 nick : 这是 用户名 建议修改,否则会导致以前的名字修改过之后,不同名字对应同一个用户id
1 UPDATE 上述表 SET `nick`= 要修改的值 WHERE `user_id`= 要修改的用户;