mysql游标遍历修改_mysql使用游标遍历数据进行批量针对性更新数据,急求mysql大神解答...
我現(xiàn)在有個數(shù)據(jù)表ud18,里面有圖片上的ID,parentid,objname,現(xiàn)在要針對objname的這些號碼進(jìn)行針對性更新,寫存儲過程進(jìn)行父子關(guān)系轉(zhuǎn)換,做成樹形,就是根據(jù)objname將父的id值更新到...
我現(xiàn)在有個數(shù)據(jù)表ud18,里面有圖片上的ID,parentid,objname,現(xiàn)在要針對objname的這些號碼進(jìn)行針對性更新,寫存儲過程進(jìn)行父子關(guān)系轉(zhuǎn)換,做成樹形,就是根據(jù)objname將父的id值更新到所有子的parentid里去,父項的parentid為0不變,圖片上有的,這是我用update ud18 set parentid='1' where objname like '101%' and id <>'1';逐句進(jìn)行更新的,代碼量很大,數(shù)據(jù)表數(shù)據(jù)有幾千條,現(xiàn)在領(lǐng)導(dǎo)要求用游標(biāo)遍歷數(shù)據(jù)表進(jìn)行簡便的更新,這些objname是有規(guī)律的,數(shù)據(jù)表里是9位數(shù),比如說父項是1010,那子項就是從101010,101020或者10101010,10101020這樣接下去,10101010,10101020就是1010的子項101010的子項,領(lǐng)導(dǎo)跟我說你可以用like匹配前7位數(shù),再依次匹配前5位數(shù),前3位數(shù),然后依次進(jìn)行更新,我沒聽懂到底怎么用游標(biāo)遍歷進(jìn)行更新,求mysql解惑,可加分
急求答案,來個mysql大神給我解答吧,我很急的,我現(xiàn)在還在賺分,可以都給你的,就是用游標(biāo)遍歷數(shù)據(jù),然后針對objname進(jìn)行parentid的數(shù)據(jù)更新,現(xiàn)在理清了點頭緒,就是objname的前三位是前五位的父項,前五位是前七位的父項,然后提取前三位的ID放到前五位的parentid里去,前五位第五位是0的是前五位的父項,前七位第七位是0的話就是前七位的父項,說起來有點繞,大神看圖上的objname中的值就知道了,大神仔細(xì)幫忙看下,我會一直追加分的
注:我朋友幫我寫出了,但是他經(jīng)常用sql和Oracle的,我拿過來修改了一下,我自己也是初學(xué)者,麻煩大神幫我看下邏輯和語法,語法應(yīng)該還有錯誤,但是一直都做到2點多我實在太困了,麻煩大神幫我檢查一下,我明天急用,謝謝了
展開
總結(jié)
以上是生活随笔為你收集整理的mysql游标遍历修改_mysql使用游标遍历数据进行批量针对性更新数据,急求mysql大神解答...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql端口转发_SSH做MySQL端
- 下一篇: linux cmake编译源码,linu