代码改变世界

那些年我们追过的SQL

2015-02-02 10:55  钟铧若岩  阅读(217)  评论(4编辑  收藏  举报

 SQL是大学必修课程之一
二维表结构,看着就是一种美感.

针对近期感情,聊一聊,在平时容易犯的一个错误,看看你是不是中枪了.

 我们还是选用传统的student表(请不要考虑表的结构是否合理)
ID        NAME           COURCE    PHONE    
001        felix                80            13412345678
002        john                91            13212345678

现在的需要是由于评卷错误,需要每个人的成绩都+2分,, 怎么办?

方案1
采用recordset先把数据填充在本地,然后本地修改course, 最后调用update方案       

方案2
依次从数据库里取出每一行数据的COURSE,然后COURSE+2   逐行更新.

方案3
update student set course = course +2;

性能排序
方案3 >  方案1  > 方案2
方案1 比 方案2稍好, 不用每次自己调用代码更新.
但方案1与方案2都有一个致命的问题,当获取到本地,但数据库里的数据又被其他终端修改.这样就会报数据库错误...

所以最好的方式是采用方案3

你中枪了吗?