oj数据库名字总结
本文最后更新于 2024-02-03 21:19:23
1. oj数据库名字解析
1. compileinfo
编译信息存储的地方,例如
报错:
1 |
|
这种信息都存在这里
2. contest
比赛目录的存储的地方
里面的信息都是比赛当时的记录,比赛结束后的题目记录不存在
3. loginlog
登录日志即用户登录时间、IP的记录
4. news
前端新闻的存储记录
5. online
6. privilege
用户权限存储的地方
7. problem
题目的创建时间的储存处
8. runmtimeinfo
运行时间信息
例如:类似这种信息的存储
1 |
|
9. solution
用户的提交信息的存储
10. source_code 和 source_code_user
提交的源代码的存储
可能两者有区别!!!但是我不知道 >_<
11. user
用户信息的存储
2. 删除账户
1.信息删除(不删除其做题数据)
进到数据库user
表里直节删除用户
该方法删除之后,用户在次用同样的用户id注册时,会自动连接到原来的数据;
比如:
1 |
|
2.彻底删除(包括做题数据)
字面意思hhh
比如:
1 |
|
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 |
|
solution
、users
表中的 nick
: 这是 用户名 建议修改,否则会导致以前的名字修改过之后,不同名字对应同一个用户id
1 |
|