討論區快速選單
知識庫快速選單
網路投保旅行平安險 開發App該選哪個平台?
[ 回上頁 ] [ 討論區發言規則 ]
JDBC同步問題- INSERT
更改我的閱讀文章字型大小
作者 : tourist(笨阿Q)
[ 貼文 8 | 人氣 251 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/11/15 上午 01:54:44
各位前輩、同好 好,

想請教一下,當我透過 JDBC的 java.sql.PreparedStatement 產生的物件
對某一個特定的 table 執行 executeUpdate() 修改資料時,若同時有兩人以
上對相同 table 上的某一筆資訊作修改,會不會有資料「同步」的問題。
例如:
   有一 PRODUCTION TABLE ,其中有一個欄位名為 PRODUCTION_NUMBER
   A操作者 先對 PRODUCTION_NUMBER內資料修改為"2",但在 COMMIT 前,
   被B 搶先對 PRODUCTION_NUMBER內資料修改為"4" 並完成COMMIT 。接著 A
   繼續完成 COMMIT 。PRODUCTION_NUMBER內資料是不是會被修改為 "2" 的情況?


作者 : terenas(風) 貼文超過200則
[ 貼文 490 | 人氣 7440 | 評價 680 | 評價/貼文 1.39 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人tourist註記此篇回應為很有道理 2010/11/15 上午 06:35:58

>各位前輩、同好 好,
>
>想請教一下,當我透過 JDBC的 java.sql.PreparedStatement 產生的物件
>對某一個特定的 table 執行 executeUpdate() 修改資料時,若同時有兩人以
>上對相同 table 上的某一筆資訊作修改,會不會有資料「同步」的問題。
>例如:
> 有一 PRODUCTION TABLE ,其中有一個欄位名為 PRODUCTION_NUMBER
> A操作者 先對 PRODUCTION_NUMBER內資料修改為'2',但在 COMMIT 前,
> 被B 搶先對 PRODUCTION_NUMBER內資料修改為'4' 並完成COMMIT 。接著 A
> 繼續完成 COMMIT 。PRODUCTION_NUMBER內資料是不是會被修改為 '2' 的情況?
>
當然有, 所以, 這就是DATABASE HANDLE 掉, 會發生你講的情形. 這種算是"常識" 了吧
作者 : tourist(笨阿Q)
[ 貼文 8 | 人氣 251 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/11/15 上午 11:26:14
感謝 terenas(風) 的回應。

想請教,有那些方式可以防範這類事件的發生。
有辦法從 Database 的設定或操作上作處理嗎?

謝謝。
作者 : terenas(風) 貼文超過200則
[ 貼文 490 | 人氣 7440 | 評價 680 | 評價/貼文 1.39 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/11/15 上午 11:54:25

>感謝 terenas(風) 的回應。
>
>想請教,有那些方式可以防範這類事件的發生。
>有辦法從 Database 的設定或操作上作處理嗎?
>
>謝謝。
商業化的db 一般都有LOCK FOR UPDATE 的功能.
 板主 : 徵求中
 > J2SE(Java2 Standard Edition) - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - J2SE(Java2 Standard Edition) - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
J2SE(Java2 Standard Edition)
1 20 
2 阿呆紅 10 
J2SE(Java2 Standard Edition)
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125