什么情況下會(huì)提示文章被打開?
在使用mysql進(jìn)行刪除操作時(shí),如果要?jiǎng)h除的表中有一篇文章被其他用戶正在閱讀或修改,此時(shí)系統(tǒng)就會(huì)提示該文章被打開,無(wú)法進(jìn)行刪除操作。
如何解決被打開的文章問(wèn)題?
一般情況下,我們可以等待其他用戶關(guān)閉該文章,或者聯(lián)系對(duì)應(yīng)用戶進(jìn)行關(guān)閉。但如果用戶網(wǎng)絡(luò)原因或其他突發(fā)情況,導(dǎo)致關(guān)閉不了該文章,又該如何解決呢?此時(shí)我們可以嘗試使用如下命令:
show processlist;
該命令將會(huì)顯示當(dāng)前所有的mysql進(jìn)程,我們可以通過(guò)查找進(jìn)程ID,找到并殺死與該文章相關(guān)的進(jìn)程:
kill [process_id];
如何避免被打開的文章問(wèn)題?
為了避免在進(jìn)行刪除操作時(shí)出現(xiàn)文章被打開的情況,我們可以在文章表中添加一個(gè)“status”字段,并且在文章被打開時(shí)將該字段設(shè)為“l(fā)ocked”,在關(guān)閉時(shí)設(shè)為“unlocked”。此時(shí)在刪除操作時(shí)我們只需先判斷該文章的狀態(tài)是否為“l(fā)ocked”即可,以避免無(wú)意義的操作。