关闭

SqlServer Update更新语句因where条件不正确 造成更新全表的情况

1556人阅读 评论(0) 收藏 举报
分类:


select PERSONID into #t1 from ATDADJUSTTIMEORDER 
where PERSONID not in(
select PERSONID from ATDEMPLOYEECALENDAR)
and PERSONID in(
select PERSONID from PSNACCOUNT where ACCESSIONSTATE in('1','2','6'))
and TIMEORDERID is null


update ATDADJUSTTIMEORDER set TIMEORDERID='1' where PERSONID in (select PERSONID in#t1)



本来是 PERSONID IN(select PERSONID FROM #t1) ,写的比较快,鼠标移动莫名了成了上面的结果


     但是上面的是可以执行的, #t1 数据是空的, 但是update 语句是全表更新了.  看上去还以为更新0条记录呢,结果不是


drop table #t1
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:780869次
    • 积分:11302
    • 等级:
    • 排名:第1431名
    • 原创:470篇
    • 转载:30篇
    • 译文:0篇
    • 评论:55条
    文章分类