我用MySQL不小心删掉一张表的外键customerid某些值,有没有可以恢复的办法?到原来customerid也行?
求大侠们帮帮忙啊!急!!!有效追加!!
补充:得说明下,数据库在服务器上面!问题现在已经基本解决了,除了备份的部分,还有一半是用了点小计谋。。。逻辑判断加猜的。。说一下,应用系统的日志就是我现在写的部分,我从MySQL里面直接删的,所以不能从里面看哈。谢谢大家的回答了!
追问:删掉的是设备外键的值,原来的customerid有对应的值,现在全为NULL。customerid对应着customer表,现在没了联系。请问还有办法补救吗?我查了备份,由于备份比较老,只找到一半左右,有一半备份也没有。MySQL日志是off的,有办法查到吗?应用日志??我用命令提示符操作的。 就是phpnow里面的MySQL的操作,我都是在命令提示符操作里面操作的,可以查到日志吗?怎么查啊??备份在哪找?customerid是索引,他的值对应具体的客户。现在全为空,不知道是属于哪个客户的了??我不晓得他们备份没有 我只是完成其中一部分 就当没备份处理吧
答案:删掉的是外键表中的值还是基表中的值呀?
如果是基表中的值,只能通过备份恢复,因为基表中对应外键的数据量有多少谁也不知道。
如果是外键表中的值,那好办一些。
处理方法:
select distinct 基表中的外键字段 from 基表
然后与外键表对应,看看少那些,追加进外键表就可以了
注意:上述处理方法由于基表中不一定包含所有外键值,因此不能全部恢复外键表中的值,只能恢复用到的外键值。
所以,最好的办法还是根据备份恢复
其他:那只能备份中拉过来 或者你这个如果有原数据改变的 那从原数据中找 貌似只能找备份恢复!或者装了什么备份软件吗? 数据库数据丢失一般都是从备份里面找的,如果是单位用的话一定有备份的 那个 分两条吧。你只需要改个表名就行了。我只听说过从一张表中导出某些需要的数据插入另一张表。 写个触发器咯 触发器 在MYSQL,已弱化外KEY,因为其带来的作用极微少可略之,故洒家在此推荐以后要不丁使用外KEY。像phpmyadmin中并无外KEY一样。
上一个:mysql 插入语句出现异常
下一个:求助一条sql语句,mysql 5.1数据库