為存儲(chǔ)引擎添加對(duì)DELETE的支持 |
發(fā)布時(shí)間: 2012/8/23 16:48:36 |
MySQL服務(wù)器采用了與INSERT語句相同的方法來執(zhí)行DELETE語句:服務(wù)器使用rnd_next()函數(shù)跳到要?jiǎng)h除的行,然后調(diào)用delete_row()函數(shù)刪除行。
int ha_foo::delete_row(const byte *buf)
*buf參數(shù)包含要?jiǎng)h除行的內(nèi)容。對(duì)于大多數(shù)存儲(chǔ)引擎,該參數(shù)可被忽略,但事務(wù)性存儲(chǔ)引擎可能需要保存刪除的數(shù)據(jù),以供回滾操作使用。 電腦知識(shí)www.boydavid.com 下述示例來自CSV存儲(chǔ)引擎:
int ha_tina::delete_row(const byte * buf)
{ 電腦知識(shí)www.boydavid.com
DBUG_ENTER("ha_tina::delete_row"); 電腦常識(shí)www.boydavid.com
statistic_increment(table->in_use->status_var.ha_delete_count, 電腦入門www.boydavid.com
&LOCK_status);
if (chain_append())
DBUG_RETURN(-1);
--records;
DBUG_RETURN(0);
}
前述示例的步驟是更新delete_count統(tǒng)計(jì),并記錄計(jì)數(shù)。 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |