我在update的时候没加where条件,把表中所有数据都改了表的那个字段是密文存的,可以通过日志文件恢复吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在update的时候没加where条件,把表中所有数据都改了表的那个字段是密文存的,可以通过日志文件恢复吗?相关的知识,希望对你有一定的参考价值。
数据库是MS-SQL 2005
参考技术A 可以。利用数据库还原功能恢复到你更新之前的数据库时间。追问要咋搞?
追答数据库选择。备份里面有关于时间还原的选择。还原到几点的数据选择。你试验一下就能找到
追问关健是没有备份呀,哥哥。。。
追答不需要备份。就在还原的菜单选择里面有啊
参考技术B 在数据库里执行 ‘rollback;’ 回滚操作,就是撤销之前的操作。前提是你没有进行commit(提交)操作; 参考技术C rollback不行吗?追问告诉我方法,我有日志文件的。就是没有备份。
追答rollback命令查百度没有吗?
SQL中 为啥要避免在where后使用'1=1'这种表达式作为部分条件
并非一定要避免,而是数据量很多的情况下,这种条件会导致sql执行的时候忽略掉索引的优势,导致查询效率很低。所以,只在数据量很大的时候才是需要尽量避免使用。数据量少的时候,用这个还是很方便的。
参考资料:http://blog.csdn.net/farawayhome/article/details/6621114
参考技术A 因为1=1不管在任何条件下都是成立的,等于没加条件,所以如果在update时用这个作为条件,容易犯下把全部的数据都改了的错误操作 参考技术B 是利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取想得到的资料。and user>0,这时,服务器运行Select * from 表名 where 字段=444 and user>0这样的查询,当然,这个语句是运行不下去的,肯定出错,本回答被提问者采纳 参考技术C 比如你要筛选数据,筛选的数据有好几个,这个时候你就要用where条件了。在我看来加上1=1是为了在代码中避免出错,如果加and符号,where 1=1 and XXX 这样子就不会出错,如果加的查询条件是and 并且前边只有where的时候就会出错。
多用于前台筛选,加筛选条件。
以上是关于我在update的时候没加where条件,把表中所有数据都改了表的那个字段是密文存的,可以通过日志文件恢复吗?的主要内容,如果未能解决你的问题,请参考以下文章
MySQL ------ 更新数据(UPDATE)(二十一)
MySQL ------ 更新数据(UPDATE)(二十一)