这个算法怎么写?
id name f_id s_id
1 湖南省 0 1
2 长沙市 1 11
3 株洲市 1 12
……
10 衡阳市 1 19
11 郴州市 1 110
12 广东省 0 2
13 深圳市 2 21
……
21 广州市 2 29
22 梅州市 2 210
这个算法怎么写 我要根据f_id 最后一个s_id 然后插入一条新纪录时 s_id 在最后一位累加 如果到就个位9 就向后累加以位数
------解决方案--------------------if(max(s_id)%10==9){
sid = Integer.praseInt((max(s_id)+"").replaceAll("9$","10"));
}
其中max(s_id)查数据库查出某一f_id 最后一个s_id
------解决方案--------------------最后一句话我表示读不懂,读不通
------解决方案--------------------if(max(s_id)%10==9){
sid = Integer.praseInt((max(s_id)+"").replaceAll("9$","10"));
}
其中max(s_id)查数据库查出某一f_id 最后一个s_id
------解决方案--------------------
------解决方案--------------------表的存储结构有问题,有id不用搞个s_id出来,id就是个废字段
如果是个树状结构记录parent的id就ok了,不用再搞什么奇怪的算法了
------解决方案--------------------f_id意思是father的id吧,s_id意思是son吧,
String s_id = f_id + number 吧?
“如果到就个位9”真不明白是什么意思
------解决方案--------------------id直接自动增长啊,s_id没什么太大的意义感觉。
------解决方案--------------------1 什么数据库,不同数据库语法,函数不一致
2 29 后面 210,那么219后面是220还是2190?
------解决方案--------------------省的f_id是0,s_id是序号,假设为x,
那么该省的下属市f_id是x,s_id是x+市序号,假设为a,结果就是x+a,
可以利用String和子串来做