作者PTTLSboy (阿銫)
看板PHP
標題[請益] 如何一次產生兩個流水號
時間Mon Sep 24 19:35:45 2012
我的ID是流水號產生的,我有另一個欄位的初值要跟流水號一樣
但試了不能一次把流水號給兩個欄位
查了GOOGLE查不出來,可能關鍵字方向不對
請前輩給我一個方向,謝謝!
-----
我只知道最笨的方法:
就是另一欄位先NULL,等流水號出來再去抓最近的INSERT_ID,再用UPDATE填上去
--
派大星:多少錢?
蟹老闆:5塊錢
派大星:(掏口袋) 我只有7塊Q_Q
蟹老闆:成交!
派大星:派大星啊! 你真的好會殺價
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.0.232.61
1F:→ liaosankai:可能要先麻煩你把DB的SQL結構圖貼上來,比較好了解問題 09/24 20:53
是一個留言及回覆的資料表,'reply'初值是接流水ID,如果'reply'=流水ID代表沒回覆
'reply'如果不等於流水ID那則是指向回覆的那篇ID
這樣子select就以reply排序,按順序顯示在畫面上了
推 LaPass:大概也只能這樣了吧....
好巴
09/24 21:05
2F:→ ousapas:trigger 09/24 21:12
3F:→ MOONRAKER:這樣最簡單 沒什麼笨的 不是所有SQL的事都要一次做完 09/24 22:20
4F:→ MOONRAKER:頂多前後用transaction把他圍起來 保證不會中途寫入失敗 09/24 22:21
謝謝各位
trigger跟transaction看了還是不太明白,我想我先用最簡單的方法好了!
※ 編輯: PTTLSboy 來自: 123.0.232.61 (09/24 23:15)
5F:推 alpe:mysql 就只能寫2賜了 09/24 22:54
6F:推 dio833:update xx set reply=id where reply is null and ... 09/24 23:58
7F:→ MOONRAKER:transaction是用來保證兩個或多個指令同時正確執行 09/25 11:22
8F:→ MOONRAKER:如果一個失敗其他的也不會執行 不過只對InnoDB有效 09/25 11:22
9F:→ MOONRAKER:所以先知道有這回事就好 除非load很高否則很少會有問題 09/25 11:25
感謝你還回來解釋:))
※ 編輯: PTTLSboy 來自: 123.0.232.61 (09/25 20:21)