故事背景:
依照原系統的框子搞乙個新的系統給其他人使用,因為新的系統配置庫依然需要使用原有的表,表中有字段區分新的系統,然後就有了這個很沒勁的資料同步。
難點:配置庫碼表資料的主鍵之前是自增,後來改造改成18位有意義的字串行,但是由於部分小哥哥小姐姐不按照規範寫,導致表中主鍵有部分資料是前幾位一樣,有的是後幾位一樣。
資料同步方案一:
使用擷取原有主鍵一部分,再在其前面拼接上日期入錶 (有主見衝突),本來規定的就是年份+日期+各組編號+個人編號+000三位的擴充套件,指令碼寫完執行時發現資料完全不是那麼回事,有很多就是前面改一位,其他不動。。。
insertinto
t_test (
select
concat(
'1901',
if(length(col1)
>12,
right (col1, 12
), col1
)) col1,
col2,
col3
from
t_test
);
當 col1的長度大於12時,保留後面的12位,前拼接1901 當不大於12時 1901直接拼接原來的資料 防止主鍵長度超過限制長度
資料同步方案二:同步資料按順序造新的主鍵 本次同步資料總量5000+ 所以最長資料後面會有4位資料 前面安裝原有主鍵生成策略 往上湊
insertinto
t_test (
select
concat(
'1901071530044',
@rownum :=
@rownum+1
) col1,
col2,
col3,
concat(id, 'aa
')from
t_test,
(select
@rownum :=
0) r
);
這樣其實主鍵的長度就會不一致,由於是拼接上去的主鍵長度不一樣長所以還是有點問題的 不過測試人員說可以了就這樣搞... gg不gg
C lambda查詢帶返回值
具體如下 var lists new list foreach var item in lists.where x x.length 2 如果願意,完全可以使用action進行輸入上述的item,而不是在foreach中加一層判斷。問題簡單描述就是 簡單來說就是直接在where中輸出長度大於2的字元...
php mysqli 查詢語句返回值型別
link new mysqli localhost root 123 test sql select uname from userinfo a link query sql echo echo 有結果集 var dump a echo sql insert into userinfo values...
主函式的返回值返回給誰 主函式返回值
responsebody報406 原因是 要返回的物件沒有setget方法sdfsdf 自定義視 析器和缺省視 析器需同時使用才好用 如果以redireci或forward字首,那麼 走缺省視 析器 return redirect index.jsp return forward index 需寫全...