SQL(insert、delete、update)執行成功,但是數據庫表中無顯示無記錄


如題,程序中insert一條記錄,調試過程中根據執行結果發現此條sql已經執行成功(影響行數為1且插入記錄已生成自增主鍵正確值),但是查詢數據庫相應表時發現表中並無相應記錄,通過直接在表中插入測試數據也能發現已有記錄的主鍵值自增后的值已被占用(例如:id為主鍵,當前id為52,下一條記錄插入進來時id值應當為53,那么直接操作表插入測試數據時實際id值為54,id為53雖然不存在但是已被占用)。

造成這種情況的原因可能有以下幾種:

1、程序中的insert語句存在於一條事物中,調試時該sql雖然執行完成,但是事務未執行完畢,造成sql結果雖然現實成功,但是因為事務未完成導致還未寫入表中,直接查詢表數據也就無記錄了。

2、SQL語句已經拼接好,但是並沒有執行

3、SQL語句執行(或者被執行)了事務回滾:sql語句內部事務回滾,或者sql語句所在的整個事務回滾。

 

我遇到的問題屬於原因1,原因2和原因3是我在網上查詢時發現的可能情況,特此記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM