mysql 游標最後一行 重複問題

2022-08-21 10:57:15 字數 1877 閱讀 7191

begin

declare p_id int;

declare p_code int default 0;

declare p_logo

int default 0;

declare p_name varchar(255) default '';

declare p_address

varchar(755) default '';

declare p_phone varchar(755) default '';

declare

p_logo2 varchar(755) default '';

declare p_logo3 varchar(755) default

'';declare p_paid varchar(755) default '';

declare p_isdelete

varchar(755) default '';

declare done int default 0;

declare cur cursor

for select id, code,logo,name,address,phone,logo2,logo3,paid,isdelete  from

hospital_copy;

declare continue handler for not found set done=1;

open

cur;

repeat

fetch cur into p_id,

p_code,p_logo,p_name,p_address,p_phone,p_logo2,p_logo3,p_paid,p_isdelete;

if done=0 then

insert into

`hospital` (

`id` ,

`code` ,

`name` ,

`country_code` ,

`phone`

,`address1` ,

`address2`

,`address3` ,

`county`

,`country` ,

`postcode`

,`logo`

,`logo2` ,

`logo3`

,`paid`

,`isdeleted`,

`add_time`,

`delete_time`,

`timeinterval`

)values (

p_id,

p_code,p_name,'0001','13971056776',p_address,p_address, p_address, p_address,

p_address, '442200',

p_logo,p_logo2,p_logo3,p_paid,p_isdelete,'2011-1-1','','30');

end if;

until

done=1

end repeat;

close

cur;

end加深紅色部分解決方法,最後的重複的原因是fetch cur into

……;的時候,當第一次到達最後一條記錄時,取出記錄,把值給變數,這時一切正常,沒有錯誤。然後until until done=1

迴圈到repeat重新開始,再fetch一條時,已經沒有記錄,done會被 set

done=1;,但此刻沒有進行任何判斷,程式會繼續執行insert into

……語句,而由於fetch沒有取到記錄,則沒有對變數進行賦值,所以變數仍是原值。當到until done 時程式退出repeat,從而最後的記錄會被重複。 

批量刪除TXT檔案第一行和最後一行

終於實現了把python用起來,記錄一下,環境為python3.7,看了一些網上的方法,但這總算是乙個不錯的開端。import os import os.path import codecs 這裡放著你要操作的資料夾名稱 path c users rym desktop 金融 後復權 後復權a股全 ...

QListWidget定位到最後一行

case 在用python做介面,用了listwidget,一條一條的additem,悲劇的發現雖然有滑動條,但是它總是淡定的呆在最早先的位置,不上不下,每次看到它都覺得恨呀 solution 在ui的編輯器裡,看到了autoscroll,雖然勾選上了,也就是說 self.log widget qt...

flex 最後一行左對齊

最近專案布局上要求item兩端對齊,而且最後一行在列不滿的情況下要求左對齊,使用flex的justify content space between 實現時發現最後一行不能左對齊,而是兩端對齊方式,下圖不是專案上想要的效果 不使用flex也可以實現,本文僅討論使用flex實現 在網上查了很多資料,1...