看板 Database 關於我們 聯絡資訊
資料庫名稱:mysql 內容/問題描述: 我的資料表有三欄 四筆資料 a b c 1 3.1 ..... 2 3.1 ..... 3 3.1 ..... 4 3.1 ..... a是流水號;b是日期(月.日);c是資料 我在php寫一個簡單的判斷式 ------------------------------------------ if (現在日期!=資料庫b欄日期) { 清空資料表; 重新匯入資料; } for i=1;i<5;i++ echo c[i]; //匯出c欄資料 ------------------------------------------ 我的問題是,匯入資料需要10至15秒左右。 這段期間,重新整理網頁,或是有多人瀏覽這個網頁。 資料表就會被重複匯入,流水號的順序就會1,2,3,1,4,2,3,4 雖然for迴圈,遇到a兩筆重複資料只會echo一筆, 網頁上看不出來重複匯入的問題,除了資料表亂了些外,沒有什麼大礙。 我想破頭,還是想不出阻止重複匯入的機制。 有人可以提供一些點子嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.232.150.161
TeemingVoid:批次匯入前,先lock table 資料表 write,完成後, 03/25 11:16
TeemingVoid:unlock tables 另一個方式,叫用 get_lock() 與 03/25 11:16
TeemingVoid:release_lock() 自行設計交通號誌。 03/25 11:16
jonce007:php開檔案,做完刪除。要執先行若檔案存在則不執行 03/27 18:59
jonce007:^^^^^^^^^^^^^^^^^^^^^^^^^前 03/27 19:00
f1234518456:寫入一個鎖定值到Application中 用來判斷是否在寫入中 03/31 10:23