[請益] 如何一次產生兩個流水號

看板PHP作者 (阿銫)時間13年前 (2012/09/24 19:35), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
我的ID是流水號產生的,我有另一個欄位的初值要跟流水號一樣 但試了不能一次把流水號給兩個欄位 查了GOOGLE查不出來,可能關鍵字方向不對 請前輩給我一個方向,謝謝! ----- 我只知道最笨的方法: 就是另一欄位先NULL,等流水號出來再去抓最近的INSERT_ID,再用UPDATE填上去 -- 派大星:多少錢? 蟹老闆:5塊錢 派大星:(掏口袋) 我只有7塊Q_Q 蟹老闆:成交! 派大星:派大星啊! 你真的好會殺價 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.232.61

09/24 20:53, , 1F
可能要先麻煩你把DB的SQL結構圖貼上來,比較好了解問題
09/24 20:53, 1F
是一個留言及回覆的資料表,'reply'初值是接流水ID,如果'reply'=流水ID代表沒回覆 'reply'如果不等於流水ID那則是指向回覆的那篇ID 這樣子select就以reply排序,按順序顯示在畫面上了 LaPass:大概也只能這樣了吧.... 好巴 09/24 21:05

09/24 21:12, , 2F
trigger
09/24 21:12, 2F

09/24 22:20, , 3F
這樣最簡單 沒什麼笨的 不是所有SQL的事都要一次做完
09/24 22:20, 3F

09/24 22:21, , 4F
頂多前後用transaction把他圍起來 保證不會中途寫入失敗
09/24 22:21, 4F
謝謝各位 trigger跟transaction看了還是不太明白,我想我先用最簡單的方法好了! ※ 編輯: PTTLSboy 來自: 123.0.232.61 (09/24 23:15)

09/24 22:54, , 5F
mysql 就只能寫2賜了
09/24 22:54, 5F

09/24 23:58, , 6F
update xx set reply=id where reply is null and ...
09/24 23:58, 6F

09/25 11:22, , 7F
transaction是用來保證兩個或多個指令同時正確執行
09/25 11:22, 7F

09/25 11:22, , 8F
如果一個失敗其他的也不會執行 不過只對InnoDB有效
09/25 11:22, 8F

09/25 11:25, , 9F
所以先知道有這回事就好 除非load很高否則很少會有問題
09/25 11:25, 9F
感謝你還回來解釋:)) ※ 編輯: PTTLSboy 來自: 123.0.232.61 (09/25 20:21)
文章代碼(AID): #1GO4MMH1 (PHP)
文章代碼(AID): #1GO4MMH1 (PHP)