主题:  数据库坏了!!!!!!

Mike

职务:版主
等级:6
金币:11.0
发贴:5148
#12004/9/14 13:28:07
我的数据库中有一个字段记录20204077但凡搜索这个时,整个系统就坏了! 其它比如20204078、20204076都没有这个问题,我是MySQL数据库,问大家有没有人碰到类似的情况?如何解决?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22004/9/14 17:12:12
可能是非正常操作,有坏字段。先备份好数据库。
改变一下字段属性,如不允许null的,变成允许,使约束性变成最小。另取消外键等与其它表的关系,再试。用select,只对该表查询。
或用update,把记录中不重要的字段用一些数据替换一下。
再不行只能删除该记录。
最后是导到一个新的表。


非常大鱼

Mike

职务:版主
等级:6
金币:11.0
发贴:5148
#32004/9/14 20:40:58
谢谢蓝鲸,我还有一个问题,因为我以前好像听你说过,自动增加的字段中的记录一但删除,就无法再使用了,这太可怕了!
为什么,事情是这样子的。因为当初我考虑到将用户信息和用户登录分成两个表,以登录/注册的表的id为联接标志,但是用户信息表的ID是根据注册表里的ID复制的,在注销一个记录时,注册表的ID记录被注销了,但是用户信息表里的那个ID仍然还在。虽然,这并不影响新的或者旧的用户登录或数据记录的关联,但是一条没用的(已被注销的用户)信息仍在用户信息表内,长期这样下去是不是不太好?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42004/9/15 0:33:13
这可以用外键关联,即注册表ID与用户表ID“实施参照完整性”,并“级联删除记录”。这样删除注册表ID后,所有用户表与此ID相关记录都将被删除。不过推荐一种方法,即ID号不要删除,设一字段如"Disable",如果一旦值为"True"时,该用户所有操作将被中止。但在其它数据上并不影响,也不用删除该用户发表的信息。


非常大鱼